黑马程序员技术交流社区

标题: 关于数组输出结果的问题 [打印本页]

作者: 飞扬的青春haha    时间: 2016-5-14 00:48
标题: 关于数组输出结果的问题
定义char ch[2] = {‘a’,’\0’};  char ch2[3] = {'c','d','e'};
printf("%s",ch2)
作者: 阿泽泽    时间: 2016-5-14 00:51
结果是cbda;
作者: 2528    时间: 2016-5-14 09:03
本帖最后由 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
作者: 飞扬的青春haha    时间: 2016-5-14 23:44
2528 发表于 2016-5-14 09:03
以 %s 输出,是字符串的输出格式,字符串的结束要有结束标志 '\0'
但是你定义字符数组 char ch2[3] = {'c' ...

受教了............
作者: changee    时间: 2016-5-15 21:57
66很厉害的样子




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2