C中未赋值变量默认为0么

如题所述

编译器不同会不一样 一般来说vc中debug版本数值型的会是0,release版不能保证 所以想要程序正确运行,就不要依赖于默认值 ///////////////////// 静态变量(包括全局)自动初始化为0 局部变量是随机值
温馨提示:内容为网友见解,仅供参考
无其他回答

在c语言中没有对一个变量赋值它的值是否自动赋0
它的值是否会自动赋值为0,取决于变量的类型。全局变量包括静态全局变量和非静态全局变量,在没有初始化值时,其值自动为0,即定义在所有函数外,不归属于任何一个函数的,在没有初始化值时,自动为0;静态全局变量当定义在函数内的全局变量,有static标记时,默认初始化为0值;非静态全局变量没有默认...

c语言里面 0是什么意思
在C语言中,0表示的是数字0,也可以理解为空值或者未赋值。在C语言中,内存中的所有数据都会被初始化为0,所以如果一个变量没有被赋值,它的默认值就是0。在程序中,我们可以利用这个特性来初始化变量或者清空内存。0在C语言中也有其他的含义,比如用来表示false或者true。在C语言中,只有0被认定为fal...

c语言中的未赋值参数是否默认为0
不确定。但一般情况是,静态变量(static)与全局变量都默认为0,局部变量值不确定(很多情况下不为0)。你可以测试一下:include <stdio.h> int a; \/\/全部变量 int main(){ static int b;int c;printf("a = %d, b = %d, c = %d\\n", a, b, c);return 0;} 变量在定义时就将其初...

C语言中定义一个变量,不给它赋值。它会有值吗?若有是多少?
没有加static,默认为auto 型,此时,不给初值,变量的初值是随机的。如果加了static不给初值,变量的初值是默认的 0。不能说不赋初值就不行,对于局部变量,不赋初值的话,其实里面存的是一个随机的值,谁也不知道是多少。

C语言字符数组不赋初值是默认为'\\0'还是随机值
普通数组没有赋初值,默认的数组元素值是随机数,不是0。如果在定义数组时,数据类型前面加上关键字static,数组变成了静态数组;或者把数组定义在函数的外面,成为全局变量数组,这时数组元素的值自动赋值为0。例子:includeint main(void){ int m = 0;static int n;int a = 5, b = 6, c = ...

C语言定义一个整型二维数组,若没有赋值,系统自动给的是0吗??
C语言规定,普通数组没有赋初值,默认的数组元素值是随机数,不是0。如果在定义数组时,数据类型前面加上关键字static,数组变成了静态数组;或者把数组定义在函数的外面,成为全局变量数组,这时数组元素的值自动赋值为0。

C程序中没有给变量名赋值,直接输出的数值是怎么回事
这个是内存里随机存在的数值,尽管你没有给变量名赋值,但是你在变量申明时已经给它分配了内存空间,那里本来就有数值的,这个是随机的

c语言中定义变量不赋初值默认是多少?
如果加了static不给初值,变量的初值是默认的 0。其实不能说不赋初值就不行,对于局部变量,不赋初值的话,其实他里面存的是一个随机的值,谁也不知道他是多少,因此如果没赋初值的情况下就使用它,程序是完全不可控的,如你的图1,直接在while里去判断b了,因此这个while判断是不可控的。【c语言...

为什么C语言的变量未赋初值,其值就为随机数?
这里的随机其实不是指这个变量的值是任意的,只是这个值不是你确定的。如果你了解定义一个变量就是给它分配了一块内存,但是因为没有初始化,所以这块内存里的值你是不知道的,可能是你以前赋过的值,也可能是某些程序运行是产生的,所以一般都认为其值是无法预料的。希望能帮到你,谢谢。

c语言为什么整型变量未赋值是随机值,而二维数组未赋值是0
1.在C语言中,“初始化”和“赋值”是两个不同的概念。楼主问题中应该是“初始化”而非“赋值”。int a = 0; 在声明一个变量的时候指定变量的值,这叫做初始化;int a; a = 2; 这叫做赋值。2.auto变量处于运行时堆栈。它的特点:在调用一个函数的过程中,这个函数内部的auto变量才存在,当...

相似回答