關(guān)于函數(shù)調(diào)用
#include?<stdio.h> /*?Jone算出結(jié)果應(yīng)該怎么寫函數(shù)??*/ ?int??joneResult(int?x,?int?y,?int?z) { ???int?sum?=?x+y+z; ???return?sum/3;??????????//這里是不是應(yīng)該將sum返回呢? } /*?Jack沒有算出結(jié)果只說了一句話是不是應(yīng)該用無返回值函數(shù)??*/ ?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運(yùn)算結(jié)果是:%d\n",?jR); ????printf("Jack運(yùn)算結(jié)果是:"); ????//Jack沒有算出結(jié)果只說了句話,是不是直接調(diào)用函數(shù)就可以了? ????jackResult(a,?b,?c); ????return?0; }
為啥調(diào)用函數(shù)jackResult(a, b, c),a b c不是數(shù)字嗎?jackResult輸出結(jié)果應(yīng)該是一句話啊,可()里的a b c是數(shù)字,這是啥意思啊?
2016-10-09
我認(rèn)為既然定義了void?jackResult(int?x,?int?y,?int?z)這個函數(shù),那你在調(diào)用它的時候由于你定義中有int x,int y,int z三個形參,你就必須在調(diào)用的時候把這三個形參分別賦值,這才是正確的引用格式。至于輸出的東西是跟你定義的函數(shù)內(nèi)容有關(guān)。你這個函數(shù)明顯是無返回值的函數(shù)定義(void指的是無返回值),而且函數(shù)里面也是規(guī)定了結(jié)果只是輸出一個字符串。
所以你在調(diào)用函數(shù)時要根據(jù)形參情況看是否寫入數(shù)字。你可以把前面無參函數(shù)定義那些題和后面這些有參函數(shù)定義的題對比一下。
2016-10-09
jackResult(a, b, c)里a b c是形參。在函數(shù)里不一定要是使用,但在調(diào)用函數(shù)的時候必須給形參賦實參。
jackResult輸出結(jié)果應(yīng)該是一句話 ----這個在屏幕上打印出字符串而已。