關于函數返回值調用的順序
#include <stdio.h>
/* Jone算出結果應該怎么寫函數? */
?int ?joneResult(int x, int y, int z)
{
? ?int sum = (x+y+z)/3;
? ?return 0; ? ? ? ? ?//這里是不是應該將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;
}
為什么那個jR放在前面而jackResult(a,b,c)要放在后面?而且順序不能改變?
2015-04-21
順序可以改變啊,不過結果就不對了,你可以試試,因為程序是順序執行的,在? ? printf("Jack運算結果是:");這句話執行完之后再?jackResult(a,b,c);這個方法,而這個方法中只有一個打印語句,也就是說直接執行printf("我算不出來\n");這句話了,所以,改變順序后結果就不對了