c语言给未赋值的字符默认赋值给-52和?,这两个有什么联系吗?下面的图就当参考了~

 我来答
金色潜鸟
2015-03-19 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5697万
展开全部
char 全局量,未给初值,编译器自动给初始值 0x00.
char 局部量,未给初值, 编译器不给它们做初始化,其值不定。
你可以自己打印出来看的。
例如:
#include<stdio.h>
char c1,c2;
int main() {
char c3,c4;
printf("c1=%02x c2=%02x c3=%02x c4=%02x", 0xff & c1, 0xff & c2, 0xff & c3, 0xff & c4);
return 0;
}
c1,c2 全局量, 自动给初始值 0x00
c3,c4 不定。
刚试验,输出: c1=00 c2=00 c3=00 c4=b6
四角玛
2015-03-19 · TA获得超过197个赞
知道小有建树答主
回答量:117
采纳率:0%
帮助的人:104万
展开全部
未赋值就是随机值,8位,任何值都有可能
更多追问追答
追问
对了,想问一下,对于一个数组,a[3],我输入了a. b c,三个字符,我知道a[3]是问号,a[4]是什么呢?我以%d输出时是-52,%c的时候为?这是怎么回事啊?
错了一句,a[3]为’\0'
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式