回覆列表
-
1 # 你的小心幹
-
2 # 使用者2458114238191884
input(inti);
output();
引數不對
定義改為:
intinput();
voidoutput(inti);
函式內部也錯,改為:
intinput()
{
inti;
printf("請選擇你所需要的商品");
scanf("%d",&i);
returni;
}
main()函式中呼叫時:
inti;
i=input();
output(i);
=========
再補充提個建議:不要從子函式中goto到父函式中。解決的辦法是將voidoutput(inti)
改為booloutput(inti),錯誤時返回false,根據返回值決定是否迴圈。
voidadvertisement()中同樣也不要goto
C語言中主函式中定義的變數只能在主函式中使用,所以你還得再定義一個變數。當然,捏可以把主函式中定義的這個變數傳遞給被呼叫的函式作為引數。例如void fun(int x){}main(){int num=9;fun(9);}但是如果你要在被呼叫函式中使用這個變數例如fun(){num++;}像這樣,就是錯的,編譯器會報錯,main中定義的變數是區域性變數,只能在main中使用。你可以在main外部定義一個變數,這樣在被呼叫函式中也就可以使用了。