首先我講一下,你的Caculate()函數里面所用到的price變數沒有定義,因此會提示識別符號price沒有定義。。。
其次{程式碼塊}這是定義了一個塊所以它裡面的變數只能在塊裡面用,這樣的變數稱之為區域性變數,而你所定義的price在main函式塊裡,所以在你的Caculate()函式塊不能用
#include
float price=0; /*可以在這個位置定義一個全域性變數*/
int main(){
int Caculate();
int choice;
int off=0;
choice=price/100;
switch(choice){
case 0: off=0; break;
case 1:
case 2: off=1; break;
case 3:
case 4:
case 5: off=2; break;
case 6:
case 7:
case 8:
case 9:
case 10:off=3; break;
}
price=price*(10-off)/10;
printf("The final price is %10.2f",price);
return 0;
int Caculate(){
/*或者在這個位置定義一個float price*/
do{
scanf("%f",&price);
price+=price;
while(price!=0.0);
return(price);
首先我講一下,你的Caculate()函數里面所用到的price變數沒有定義,因此會提示識別符號price沒有定義。。。
其次{程式碼塊}這是定義了一個塊所以它裡面的變數只能在塊裡面用,這樣的變數稱之為區域性變數,而你所定義的price在main函式塊裡,所以在你的Caculate()函式塊不能用
#include
float price=0; /*可以在這個位置定義一個全域性變數*/
int main(){
int Caculate();
int choice;
int off=0;
choice=price/100;
switch(choice){
case 0: off=0; break;
case 1:
case 2: off=1; break;
case 3:
case 4:
case 5: off=2; break;
case 6:
case 7:
case 8:
case 9:
case 10:off=3; break;
}
price=price*(10-off)/10;
printf("The final price is %10.2f",price);
return 0;
}
int Caculate(){
/*或者在這個位置定義一個float price*/
do{
scanf("%f",&price);
price+=price;
}
while(price!=0.0);
return(price);
}