'\0'

Jerrylearnc 2008-07-11 05:46:45
#include<stdio.h>
#include<string.h>
main()
{
char c,s[100];
int i=0;
puts("Input a string:\t");
while((c=getchar())!='\n')
s[i++]=c;
s[i]='\0'
puts("\nThe string entered is:\t");
puts(s);
getch();
return 0;
}

对于上面的程序中s[i]='\0';这个语句好像没什么太大的作用吧 (我不写这个语句 程序也可以正常地运行)

谢谢

非常感谢
...全文
245 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jerrylearnc 2008-07-11
  • 打赏
  • 举报
回复
呵呵 谢谢各位 学习了~~

谢谢

非常感谢
冰矿 2008-07-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 Jerrylearnc 的回复:]
引用 2 楼 icemine 的回复:
对于字符串来讲,没有结束符就像一个句子没有句号,
如果不加'\0',puts(s);后面很可能会有随即的字符出现的。


意思是最好写上

随机的字符不一定出现

但也有出现的时候

对吗?

谢谢
[/Quote]
不是不一定,
是很可能出现,
因为内存中字符串后的第一个随机数据是0的可能性太小,
要不有人说你运气好呢
K行天下 2008-07-11
  • 打赏
  • 举报
回复
'\0'是字符串的结束符
你使用库函数strlen puts等时,都要用到,用以判断字符串的结束,否则输出结果就会异常
Jerrylearnc 2008-07-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 icemine 的回复:]
对于字符串来讲,没有结束符就像一个句子没有句号,
如果不加'\0',puts(s);后面很可能会有随即的字符出现的。
[/Quote]

意思是最好写上

随机的字符不一定出现

但也有出现的时候

对吗?

谢谢
ly19850703 2008-07-11
  • 打赏
  • 举报
回复
'\0'是结束符
冰矿 2008-07-11
  • 打赏
  • 举报
回复
对于字符串来讲,没有结束符就像一个句子没有句号,
如果不加'\0',puts(s);后面很可能会有随即的字符出现的。
bargio_susie 2008-07-11
  • 打赏
  • 举报
回复
不写没问题我只能说你运气太好了!

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧