亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么主函數中關于jone的函數沒有%s就能直接輸出,而加了%s后反而報錯?

#include <stdio.h>
/* Jone算出結果應該怎么寫函數? */
int joneResult(int x, int y, int z)
{
?? int sum = x+y+z;
??? return sum/3;//這里是不是應該將sum返回呢?
}
/* Jack沒有算出結果只說了一句話是不是應該用無返回值函數? */
void jackResult(int x, int y, int z)
{
??? printf("我算不出來\n");
}
int main()
{
??? int a, b, c;
??? a = 10;
??? b = 20;
??? c = 30;
??? //Jone的返回值類型是什么?
??? int jR = joneResult(a, b, c);
??? printf("Jone運算結果是:%d\n", jR);
??? printf("Jack運算結果是:%s,"jo);
??? //Jack沒有算出結果只說了句話,是不是直接調用函數就可以
??? int jo=jackResult(a,b,c);
??? return 0;
}

這是我的代碼,和答案的差別就在主函數中關于jone的運算結果那兒。

正在回答

1 回答

你這是啥謎之操作呀,我的天。

首先,你定義下的 void jackResult 是沒有返回值的,它在你的整個程序中只能起到一個輸出某語句的作用。

那么你的 int jo=jackResult(a,b,c) 是出了什么問題你應該就懂了吧。

你定義下的 jo 是int型的,也就是整型變量,而你的jackResult連值都沒有,怎么給jo賦值。

最后,你的輸出語句中,%s代表字符串,而你給定它的量為 jo(也就是整數,你定義的),那你加上%s怎么可能運行成功。

我只能說,你需要重新加強一下對數據類型以及函數類型的溫習,你好像把它們整混了。

3 回復 有任何疑惑可以回復我~
#1

Poplar_Y

補充一下,你還需要把 jo 定義到輸出語句之前哦。
2019-10-29 回復 有任何疑惑可以回復我~
#2

qq_慕九州1474841 提問者 回復 Poplar_Y

好的,謝謝啦
2019-10-30 回復 有任何疑惑可以回復我~
#3

qq_慕村0435642

解釋得很透徹,學習了
2019-11-25 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么主函數中關于jone的函數沒有%s就能直接輸出,而加了%s后反而報錯?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號