新人求助help
#include<stdio.h>int main()
{
const int PRICE=30;
int total;
int num=0;
printf("请输入单价PRICE:\n");
scanf("%d",&PRICE);
printf("请输入数量num:\n");
scanf("%d",&num);
total=10 * PRICE;
printf("total=%d\n",total);
return 0;
}
怎么最终的运用结果只能是300,我输入了别的都不会变
你已经定义 const int PRICE,关键字 const 限定一个变量不允许被改变,产生静态作用。 #include <stdio.h>
int main()
{
int PRICE = 30; // 不能用const定义PRICE为不可变的变量
int total;
int num = 0;
printf("请输入单价PRICE:\n");
scanf("%d", &PRICE); // 如果你用const关键字定义了PRICE,这里就是没有用的
printf("请输入数量num:\n");
scanf("%d", &num);
total = num * PRICE; // 这里你想写10 * PRICE还是num * PRICE?
printf("total=%d\n", total);
return 0;
}
hrpzcf 发表于 2021-10-9 21:54
就是不要定义是吗?还有这个int num = 0;我可以不写等于0吗 本帖最后由 hrpzcf 于 2021-10-9 22:20 编辑
刘颖1202 发表于 2021-10-9 22:09
就是不要定义是吗?还有这个int num = 0;我可以不写等于0吗
1. 不是不要定义,是不要用const关键字把它定义为不可变的变量。
2. 最好不要去掉,price也一样。
如果你初始赋值=0去掉了,它的初始值就会是一个奇怪的值。
因为你没有判断scanf是否读取成功的语句,如果你输入了别的字符导致读取失败,num就不是0而是奇怪的值了,计算出来的就会是一个很奇怪的结果。 hrpzcf 发表于 2021-10-9 22:19
1. 不是不要定义,是不要用const关键字把它定义为不可变的变量。
2. 最好不要去掉,price也一样。
如果 ...
谢谢
页:
[1]