c语言给未赋值的字符默认赋值给-52和?,这两个有什么联系吗?下面的图就当参考了~
展开全部
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
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询