在c语言中没有对一个变量赋值它的值是否自动赋0

 我来答
绿子与我
2018-04-04 · TA获得超过1.3万个赞
知道小有建树答主
回答量:94
采纳率:0%
帮助的人:2.2万
展开全部

它的值是否会自动赋值为0,取决于变量的类型。

  1. 全局变量包括静态全局变量和非静态全局变量,在没有初始化值时,其值自动为0,即定义在所有函数外,不归属于任何一个函数的,在没有初始化值时,自动为0;

  2. 静态全局变量当定义在函数内的全局变量,有static标记时,默认初始化为0值;

  3. 非静态全局变量没有默认初始值,C语言规定初始化值为随机值,但具体的实现由编译器决定。

C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。最近25年是使用最为广泛的编程语言。

风若远去何人留
2017-05-08 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450131
专业C/C++软件开发

向TA提问 私信TA
展开全部
是否会自动赋值为0,取决于变量的类型。
1、全局变量,包括静态全局变量,和非静态全局变量,在没有初始化值时,其值自动为0.
即定义在所有函数外,不归属于任何一个函数的,在没有初始化值时,自动为0。
2、静态局部变量。
当定义在函数内的局部变量,有static 标记时,默认初始化为0值。
3、非静态局部变量,无默认初始值,C标准规定初始化值为随机值,但具体实现由编译器决定。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fullxml
2010-09-13 · 超过13用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:38.4万
展开全部
函数外定义的变量,不管有没有加static,没有初始化的话,系统默认初始化为0;
函数体内定义的变量,只有加static,才会默认初始化为0;不然的话,它的值是未定义的(就是垃圾数据)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈学阳
2010-09-13 · TA获得超过2.8万个赞
知道大有可为答主
回答量:2.1万
采纳率:14%
帮助的人:5615万
展开全部
是的.
a[2]=是错误的.
应该这样:a[2]=;数组a中有两个元素.
或者a[]=//让编译器自动计算数组中的元素个数.
一般初始化可以这样a[2]=让数组的两个元素都初始为0
对于二维以上的就这样a[2][3]={};//比一维多一对大括号{}
三维就a[2][3][4]={{}}

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a443a3b35
2010-09-13 · TA获得超过309个赞
知道小有建树答主
回答量:223
采纳率:0%
帮助的人:205万
展开全部
除了静态数字型变量和全局数字型变量没初始化是自动赋值为0别的都不是,
别的都是一个不确定的数字(c/c++中称为垃圾数据),
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式