關(guān)于返回值的問(wèn)題,請(qǐng)求解答
#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ō)了一句話是不是應(yīng)該用無(wú)返回值函數(shù)? */
?int jackResult(int x, int y, int z)
{
? ? printf("我算不出來(lái)\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é)果是:");
? ? jackResult(a,b,c);
? ? //Jack沒(méi)有算出結(jié)果只說(shuō)了句話,是不是直接調(diào)用函數(shù)就可以了?
? ? return 0;
}
上面第二個(gè)自定義函數(shù)中為什么沒(méi)有retrun,也能繼續(xù),還有就是如果int更換成void然后加上retrun也能繼續(xù)運(yùn)行
2019-07-12
前面那個(gè)問(wèn)題,是因?yàn)槌绦驔](méi)有語(yǔ)法錯(cuò)誤,c語(yǔ)言沒(méi)有規(guī)定函數(shù)必須有返回值,沒(méi)有也行,可以運(yùn)行,只是運(yùn)行之后你不能得到他的用變量保存他的結(jié)果,只要調(diào)用了函數(shù)就能運(yùn)行
后面那個(gè)問(wèn)題,可以return,但是接受不到他返回的值,而且要強(qiáng)行接收還會(huì)報(bào)錯(cuò)