黑马程序员技术交流社区
标题:
什么情况?结果不应该是 okit 吗??
[打印本页]
作者:
shane_west
时间:
2015-4-13 00:02
标题:
什么情况?结果不应该是 okit 吗??
为什么输出结果是 ok???是因为6.2Xcode的原因吗?
#include <stdio.h>
int main()
{
char name[] = "it\0cast";
char name2[] = {'o', 'k'};
printf("%s\n", name2);
return 0;
}
复制代码
作者:
袁胜平
时间:
2015-4-13 00:28
楼主,%s代表输入字符串。结果是ok,没错的
作者:
梦想中前行
时间:
2015-4-13 10:14
以前有人问过这个问题,应该是内存的问题。你翻翻以前的帖子,有解释的。答案是okit
作者:
无声风铃
时间:
2015-4-13 10:50
原因是:name2的这种写法,如果name2[ ] = {'O','K'};这种方式在字符串的最后不回添加'\0',所以不结束,%S输出时,会一直向后找得。可以查看sizeof所占的字节为2
作者:
寒殇
时间:
2015-4-13 10:57
字符串ok没错啊
作者:
shane_west
时间:
2015-4-13 22:43
梦想中前行 发表于 2015-4-13 10:14
以前有人问过这个问题,应该是内存的问题。你翻翻以前的帖子,有解释的。答案是okit ...
我重新 看一遍视屏 输出应该是 okit没错的啊 ~~:L
作者:
梦想中前行
时间:
2015-4-14 19:16
是okit,但是以前有人跟你一样的情况,有人给了回答。
作者:
四头
时间:
2015-4-14 20:02
没有理由呀!应该就是okit呀!'\0'没有这个字符结束语,程序会按照从起始点o一直找到'\0'结束。
作者:
LuciferTJD
时间:
2015-4-14 21:57
楼主你这个问题我之前也问过,你可以看看之前的帖子
http://bbs.itheima.com/thread-183770-1-1.html
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2