調用自定義函數的類型書寫問題
#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");
??? return;
}
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);
時 不能寫成 void jackResult(a,b,c);
而調用joneResult(a,b,c);
時必須帶INt?????
2016-04-13
你有返回值就不能為空,只有當沒有返回值的時候才是void類型函數。