Charles_Baudelaire 2020-09-07 21:10 采纳率: 80%
浏览 90
已采纳

关于int a 后面a有无定义的影响

#include
int main()
{
int price=0;
int bill=0;
printf("请输入金额:");
scanf("%d",&price);
printf("请输入票面:");
scanf("%d",&bill);
printf("应该找您:%d\n",bill -price) ;
return 0;
}

想问对于price 是否要初始化有无必要
我想直接用 int price,bill
后面不是通过scanf 对price进行赋值了么
为什么在最开始还要初始化

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-09-07 23:25
    关注

    主要是编码规范的问题。
    有时候在复杂的程序里,可能会忘记给初始值,比如
    int price;
    if (...)
    scanf("%d", &price);
    这里,如果if成立,则有初始值,不成立,没有,但是这种部分条件才初始化的逻辑,隐藏很深,不容易发现。
    所以顺手给一个值比较好。
    而且,int price=0;这个0是编译器内嵌到代码的常量,并不消耗cpu运算,所以不会影响性能。
    程序是写给人看的。所以尽量写清楚。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?