關(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)/3;
? ?return 0; ? ? ? ? ?//這里是不是應(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運算結(jié)果是:%d\n", jR);
? ? printf("Jack運算結(jié)果是:");
? ? //Jack沒有算出結(jié)果只說了句話,是不是直接調(diào)用函數(shù)就可以了?
? ? ?jackResult(a,b,c);
? ? return 0;
}
為什么那個jR放在前面而jackResult(a,b,c)要放在后面?而且順序不能改變?
2015-04-21
順序可以改變啊,不過結(jié)果就不對了,你可以試試,因為程序是順序執(zhí)行的,在? ? printf("Jack運算結(jié)果是:");這句話執(zhí)行完之后再?jackResult(a,b,c);這個方法,而這個方法中只有一個打印語句,也就是說直接執(zhí)行printf("我算不出來\n");這句話了,所以,改變順序后結(jié)果就不對了