在C语言中,输入一个字符串后输入回车……

似乎有的是在字符串后加‘\0',有的是加‘\n’,高手们,能区分一下吗?它们的二进制代码是不同的。谢谢!为什么会出现这种情况?但我们可以把回车也当一个字符输入啊?什么时候... 似乎有的是在字符串后加‘\0',有的是加‘\n’,高手们,能区分一下吗?
它们的二进制代码是不同的。谢谢!
为什么会出现这种情况?
但我们可以把回车也当一个字符输入啊?

什么时候在回车后加‘\0’?
展开
 我来答
wanfustudio
2009-04-19 · TA获得超过1万个赞
知道大有可为答主
回答量:5513
采纳率:100%
帮助的人:3786万
展开全部
'\0'的二进制是0
'\n'的二进制是0xa

似乎有的是在字符串后加‘\0',有的是加‘\n’
这句不对。

我们认为字符串需要以'\0'作为结尾符号。 这个符号是我们判断其结束的一个标识
'\n'只是一个普通的回车符号而已,与结尾并无关系

举个例子
char a[11];
我要存10个字符,我申请11个char的空间
a[10]='\0';最后一个放结尾符号。
这样使用str相关的函数就是安全的,因为他们都要找结尾符号才行
kenzhon
2009-04-19 · TA获得超过2346个赞
知道小有建树答主
回答量:957
采纳率:0%
帮助的人:1066万
展开全部
字符串在存储的时候结尾一定是'\0'的。
例如字符串“123”,在内存里面实际上是“123\0”。
可能LZ是调用如fgets等以一行为输入(输出)单位的函数,所以会认为字符串以'\n'或'\r'结尾的。但实际上在那一行字符串在存储时,被自动在换行符之后加了'\0'。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
changfapiaosa
2009-04-19 · TA获得超过214个赞
知道小有建树答主
回答量:284
采纳率:0%
帮助的人:172万
展开全部
'\0'是系统在字符串后面自动加的;
而‘\n’表示回车!用户可以手动的加入。连个不同的字符,他们的ACSII当然不一样了。在回车后加\0,这应该是系统做的事情。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式