2 qq 31483185 qq_31483185 于 2017.01.10 11:30 提问

Scanf语句前为什么可以定义一个类型并初始化
c++

int a;
scanf("%d",&a);

为什么还可以以下这样,有什么区别
int a=5;
scanf("%d",&a);

3个回答

qq_29594393
qq_29594393   Ds   Rxr 2017.01.10 11:58

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

shen_wei
shen_wei   Ds   Rxr 2017.01.10 15:13

这就是好比,int a; int a = 9; a =10; 这样类似。。。先定义个值,然后在重新赋值而已!!!

sun1021873926
sun1021873926   Ds   Rxr 2017.01.10 16:59

先赋值和重新赋值的问题。在未初始化情况下,初值为随机值;在赋值的情况下就很明确了噻。scanf只是从终端获取一个值,赋值到随后的地址而言,即重新赋值。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!