1樓:擁雲莊主
幫你改改:
#include
#include
int max_list(int number1,...);//首先要宣告函式,也可以直接把max_list實現放到main前面來
int main()
printf("%d \n",max_list(47,222,5,35,7,-7));
return 0;
int max_list(int number1,...)
int itmp = number1; //itmp,answer都等於第乙個數
int answer = number1;
va_list quantity; //va_list其實是char *
va_start(quantity, number1); //開始移動指標,偏移量是number1的大小,即int型大小
while(itmp >= 0) //遇到小於0的數就結束
printf("%d ", itmp);//輸出每個數
itmp = *((int *)(quantity));//quantity其實是char *型別的,所以要轉換成int *
//計算最大值
if(answer < itmp)
answer = itmp;
va_arg(quantity,int); //按int型移動指標
va_end(quantity);
printf("\n");
return answer;
執行截圖:
2樓:匿名使用者
取資料錯誤.
修改後:
#include
#include
int max_list(int number1,...)va_end(quantity);
return answer;
}void main()
3樓:年少會輕狂
printf 換成 scanf
C 新手求問程式哪錯了,這個C程式哪錯了?
沒問題啊 我在我機子上試了,可以。可能是你的程式問題 我用dev cppportable 1 1 1 2 1 2 2 2 4 3 1 3 3 2 6 3 3 9 4 1 4 4 2 8 4 3 12 4 4 16 5 1 5 5 2 10 5 3 15 5 4 20 5 5 25 6 1 6 6 2...
C語言,求過程,C語言程式,求過程?
程式輸出結果是 a for語句裡迴圈判斷是f s i 即函式返回非0,則迴圈繼續,而f函式是判斷奇偶數,所以陣列裡從0下標開始,是奇數就迴圈,偶數就退出,所以程式輸出是前面3個奇數相加的結果,相加得9,所以選擇a i 0 i 0 等待f s i 返回值 f s 0 a 1 返回a 2,返回值 1 f...
c語言程式題急求答案,C語言程式題 急求答案!!!
黃邦勇帥哥哥 1 b 018a,0 其中 和後面的一個字元為一個字元,因此程式總共有8個字元,也就是 0,1,8,a,0,2 b for a 0,b 1 a b 2 a 2,b 第一次a 0 1 2,第二次a 2 0 2條件成立,第三次a 4而b 1,因此b 2 1條件不成立,所以執行2次迴圈 3 ...