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