北京区号是个什么梗:c语言以下程序的输出结果是 a 为什么

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 04:04:01
以下程序的输出结果是 a 为什么
main() {char c='z';printf("; %c")}

假定int类型变量占用两个字节,其有定义:int x[10]={0};,则数组x在内存中所占字节数为 20
为什么

你怎么运行的啊,我输出z

int x[10]有10个元素当然占20字节,即使它们全为0,占内存的的存储空间仍是20

printf("; %c");
由于没有输出列表所以C编译器不知道是打印哪个变量里的值...他产生的当然是个随机数...

假定int类型变量占用两个字节,其有定义:int x[10]={0};,则数组x在内存中所占字节数为 20

它的里面当然是20个字节拉~
数组的长度是10
int x[10]={0};
从第二个元素开始系统会自动补0

PRINTF("c%",c);
输出语句是这样用的,你没有设置输出列表,当然输出不定量了。
int型系统自定义每个字占两个字节,即使为零。

输出结果是字符Z

字节是20是因为 [10] 定义了你为X数据组准备了10个位子,没个位子可以存放一个数据(占2节) 10*2=20 (字节)

你定义的是整型数组有十个元素,每个整形元素占两个字节,所以2*10=20.你上面的哪个程序输出语句写错了应写为printf("%c",c);之所以出a或z可能是你们机子的内存地址动态分配的结果吧!

当然是输出z啊!!
数组x中有10个元素当然是20个内存字节了
虽然都是0