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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

定义char ch[2] = {‘a’,’\0’};  char ch2[3] = {'c','d','e'};
printf("%s",ch2)

4 个回复

倒序浏览
结果是cbda;
回复 使用道具 举报
本帖最后由 2528 于 2016-5-14 09:04 编辑

以 %s 输出,是字符串的输出格式,字符串的结束要有结束标志 '\0'
但是你定义字符数组 char ch2[3] = {'c','d','e'}; 在ch2 数组中并没有保存 '\0' ,而你是以 %s 的格式输出的,没有结束,所以要往下走。
改动程序
  1. char ch2[4] = {'c','d','e'};
复制代码
或者利用for循环以 %c 的格式打印ch2
回复 使用道具 举报
2528 发表于 2016-5-14 09:03
以 %s 输出,是字符串的输出格式,字符串的结束要有结束标志 '\0'
但是你定义字符数组 char ch2[3] = {'c' ...

受教了............
回复 使用道具 举报
66很厉害的样子
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马