int a;
scanf("%d",&a);
…
为什么还可以以下这样,有什么区别
int a=5;
scanf("%d",&a);
…
int a;
scanf("%d",&a);
…
为什么还可以以下这样,有什么区别
int a=5;
scanf("%d",&a);
…
Scanf语句前为什么可以定义一个类型并初始化
这个就像问为什么 int 可以定义一个整形变量一样 。都是语法规定的
上面两个没有区别
细节就是
第一个,初始化 ,没有值 ,然后scanf 给它赋值
第二个,初始化 ,赋值为5,然后scanf 再次赋值替换掉原来的值。
由于赋值为5后没有任何操作之类的。所以从用户的角度和第一个没什么区别,但是对计算机的角度的差异上面已给出