/***************************************************************************************** 我自己做了一个测试,但是还是有几点不懂的地方,代码在下方 测试结果: 1、int型数组如果去掉了中括号就是第一个元素的地址 2、char型数组如果去掉了后面的中括号就能够正常格式化输出 hello world,如果单独输出第一个元素的话,就会自动结束运行 问: 1、如果数组去掉了后面的中括号的话就是第一个元素的地址的话, 那①处(下面代码标注)为什么不是输出第一个元素的地址而是输 出hello world 2、如果我想要显示第一个字符,方法如第②处那样,点击运行之后, 跳出来的窗口就会自动停止工作,为什么不是显示第一个字符而 是停止工作 3、如果char型要去掉一个中括号的话,那么第③处的代码1处应该 是显示hello,代码2处应该是显示world,但是输出结果却不是我 想的那样(代码最后有输出结果),为什么此处的输出不是我想的那样 4、问题写在文章最末的说明里 *****************************************************************************************/ #include "stdio.h" void main() { int a[]={1,2,3,4,5,6,7,8,9}; char s[]="hello world"; char ss[][5]={"hello","world"}; //输出a printf("%d\n",a); //输出a的地址 printf("%d\n",&a); //输出a的第一个元素的地址 printf("%d\n",&a[0]); //①格式化输出字符 printf("%s\n",s); //②错误代码 //printf("%s\n",s[0]); //程序停止工作,但代码编译未报错 //③验证猜想 //代码1 printf("%s\n",ss[0]); //代码2 printf("%s",ss[1]); } /*********输出结果***************** 1703708 1703708 1703708 hello world helloworldm worldm *********************************/ /**************说明*************** 输出结果最后两行最后的m是随机乱码,有 时候会是y,有时候会是x,有时候会是空白 为什么会出现乱码 ********************************/
克洛
慕瓜9220888
相关分类