在main里面声明的变量只有在main里面有效,你在函数里面改是没有用的,PRICE你压根没有赋值,所以出来的数字就是随机的,自然total就根据你的那个PRICE计算成那样的结果了。
#include
int max(int x);
void main()
{
int m,total,PRICE;
printf("请输入水果重量m:\n");
scanf("%d",&m);
PRICE=max(m);
total=PRICE*m;
printf("m=%d\n",m);
printf("PRICE=%d\n",PRICE);
printf("The total is:%d\n",total);
}
int max(int x)
{
if(x>15)
return 3;
else
return 5;
}
我没装C的编译环境,所以没测试过,但是应该不会有错,纯手打,望采纳,谢谢!
函数MAX两个参数都是值参数,不是地址参数,在函数内改变参数的值不会返回到主函数。要在函数MAX内改变主函数中PRICE的值,需要用到指针,估计你还不懂得用指针。