C语言初学问题.关于初始化赋值

为什么初始化给X赋值=0
后面x=a+b就等于3?如果按后面x=1+2=3的话,那么初始化不就没有意义了吗?

    你第一行定义几个变量,良好的风格最好是每行只做一件事情,分开定义。

    下面的一个x=c=a+b;也最好是分开,不要写这种类似的代码

    变量定义初值的目的是:防止程序中意外的引用了未赋初值的变量,你这个代码才几行,大型程序代码除了问题根本不好去找,特别是指针,定义了但是未赋初值为NULL,那么很可能就指向了一个另外的地址,后面的代码直接判断是否为NULL后使用,那么就操作了不该操作的内存,这样代价是严重的,死机或者各种无法预料的问题。

    像我们一个普通机顶盒代码大小都是200M,然后你就会发现怎么我天天改的都是bug啊

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-17
给变量初始化数为了增加程序的健壮性,在此例x可以不初始化,因为在后面x一定被重新赋值,这样使用没问题,如果不进行初始化,后面又没有对该变量重新赋值,会导致该变量的值不确定,
例如: int x;
printf("%d",x);此时输出的x是不确定的值
第2个回答  2016-01-12
如果在定义的时候就初始化,比如
char array[10] = "Hello";
int a[10] = {1};
就已经将没设置值的元素默认置0。
比如array的 5-9 , a 的 1-9 (从0开始)
初始化是个好习惯。

定义时候不初始化,而且不是全局变量,结果就未知了。
第3个回答  2014-07-17
其实你也可以从另一个角度去理解
初始化赋值是一种好习惯 如果你的程序在后面没重新给x赋值而又使用到了x 就一定会出错
所以 这个意义到底是哪方面的意义 也是看个人的理解了吧本回答被提问者采纳
第4个回答  2014-07-17
从这里看是没必要的,一般都是在变量需要累加或者累乘或者防止非法的指针的时候才初始化。关于变量初始化,反正仁者见仁智者见智吧。
相似回答