黑马程序员技术交流社区
标题:
跪求大神指点这个代码怎么运行?出结果,谢谢
[打印本页]
作者:
Sunshine丶星空
时间:
2016-2-25 22:18
标题:
跪求大神指点这个代码怎么运行?出结果,谢谢
定义char ch[2] = {‘a’,’\0’}; char ch2[3] = {'c','d','e'};
printf("%s",ch2)输出的结果是多少?
作者:
米阳
时间:
2016-3-4 01:37
本帖最后由 米阳 于 2016-3-4 01:42 编辑
我验证了下,ch2打印输出的是ceda , 字符串若以大括号方式初始化需要以\0结尾 , 遇到\0才表示该字符串初始化完毕把, 所以直到ch这个字符串的\0才结束 , 你可以运行下看看
作者:
冷傲阳
时间:
2016-3-9 15:02
答案是cdea,根据楼上所说的,用%s打印字符串,知道遇到'\0'才会结束,因为先定义的是 数组ch所以ch在内存中的地址要大,再定义的是ch2,你可以查看一下ch和ch2的两个内存地址,是连续的,所以输出cde后再接着输出a碰到'/0'停止打印
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2