❶ C语言变量必须初始化吗
C语言变量可以不初始化。直接定义int
a;
printf("%d",&a);这两句程序是直接定义并且输出变量的值,这个要看编译器了,有的编译会输出0,这是编译器帮你初始化了,默认初始化为0。如果有的编译器不初始化的话会报错,即使不报错,那么printf输出的数字是随机的,是这个内存中之前存储的数据。
❷ c语言问题——未初始化int变量的初值
c语言问题未初始化int变量的初值是设置错误造成的,解决方法为:
1、首先我们打开我们的编译器,在main函数中写。
❸ C语言未初始化的变量进行计算的问题
对于局部变量没有初始化时,其值C语言规范并没有做规定,不过一般有两种做法,一种是不会去初始化,这时sum值是随机值,不一定是多少。
另一种就是编译器会做这样的初始化,比如gcc一般会默认初始化为0,而VC会默认初始化为0xcccccccc
也就是说,这个程序会跑出什么结果,取决于编译器。甚至有些编译器遇到这种情况,会直接报错,编译失败。
而你现在的结果,明显是编译器默认初始化为0的情况。
其实判断这个,不需要这么麻烦,直接
#include<stdio.h>
intmain(void)
{
intsum;
printf("%d",sum);
return0;
}
就可以知道编译器是怎么做的了。