A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 飞哥 中级黑马   /  2015-7-29 21:34  /  944 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

19.定义char ch[2] = {‘a’,’\0’};  char ch2[3] = {'c','d','e'};
    printf("%s",ch2);输出的结果是多少?( )
A、cde           B.cde\0         C.cde\n           D.cdea

4 个回复

倒序浏览
求大神指教
回复 使用道具 举报
目测是  A
回复 使用道具 举报
应该是选D,因为ch2[3]初始化最后没有'\0',而%s是遇到'\0'才结束的,再因为先定义的变量会分配高地址的原因,所以会输出数组ch中的字符然后到'\0'结束,也就是答案D
回复 使用道具 举报
支持楼上的观点,%s格式输出只有遇见‘/0’才会结束
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马