C语言变量的初始化与赋值
栏目分类:C语言教程 发布日期:2020-04-27 浏览次数:次
我们思考一下,下面的代码,它的打印出来的数值是多少呢?
#include <stdio.h>
int main()
{
int a;
printf("%d\n", a);
return 0;
}
我们发现,它居然报错了!
这段代码,在Visual Studio 2019中这段代码已经无法编译成功了。为什么呢?因为a没有被初始化,也没有被赋值。它的值是一个随机值。这样很危险,有可能导致程序产生错误的结果。因此,在Visual Studio 2019中已经禁止使用了。早期的版本你可以看到a的值是一个无意义的随机值。
以下两种是正确的写法
写法1:变量声明后,立刻初始化为100。
#include <stdio.h>
int main()
{
int a = 100; // 变量声明后,立即装入100。
printf("%d\n", a);
return 0;
}
写法2:变量声明后,不初始化。后续使用赋值运算符赋值。
#include <stdio.h>
int main()
{
int a; // 变量声明后,为一个随机值
a = 100; // 这里我们使用赋值运算符,将100给了a。
printf("%d\n", a);
return 0;
}
另外,请注意:变量可以多次赋值,但是不能被多次初始化。
// 正确,将输出100,200。
#include <stdio.h>
int main()
{
int a;
a = 100;
printf("%d\n", a);
a = 200;
printf("%d\n", a);
return 0;
}
// 错误,变量被声明过一次了。
#include <stdio.h>
int main()
{
int a;
a = 100;
printf("%d\n", a);
int a = 200;
printf("%d\n", a);
return 0;
}
本文由IT教学网整理发布,转载请注明出处:http://www.itjx.com/jiaocheng/cyuyan/591.html