關于函數調用
#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運算結果是:"); ????//Jack沒有算出結果只說了句話,是不是直接調用函數就可以了? ????jackResult(a,?b,?c); ????return?0; }
為啥調用函數jackResult(a, b, c),a b c不是數字嗎?jackResult輸出結果應該是一句話啊,可()里的a b c是數字,這是啥意思?。?br />
2016-10-09
我認為既然定義了void?jackResult(int?x,?int?y,?int?z)這個函數,那你在調用它的時候由于你定義中有int x,int y,int z三個形參,你就必須在調用的時候把這三個形參分別賦值,這才是正確的引用格式。至于輸出的東西是跟你定義的函數內容有關。你這個函數明顯是無返回值的函數定義(void指的是無返回值),而且函數里面也是規定了結果只是輸出一個字符串。
所以你在調用函數時要根據形參情況看是否寫入數字。你可以把前面無參函數定義那些題和后面這些有參函數定義的題對比一下。
2016-10-09
jackResult(a, b, c)里a b c是形參。在函數里不一定要是使用,但在調用函數的時候必須給形參賦實參。
jackResult輸出結果應該是一句話 ----這個在屏幕上打印出字符串而已。