请问C语言中,什么时候用'\0'什么时候用'\n'

哦。。那请问在什么情况下用它们选那个呢?》... 哦。。那请问在什么情况下用它们选那个呢?》 展开
 我来答
zkzk12345
2011-01-27 · 超过10用户采纳过TA的回答
知道答主
回答量:14
采纳率:0%
帮助的人:0
展开全部
'\n' ——换行,一般用于输出字符串时换行,不表示本字符串结束,只是对显示格式的调整。
'\0'——字符串零,详细点说就是字符串在字符数据之后加入一个null字符,表示字符串结束,一般不需要手动添加。

详细的可以看下面一段文字:
字符串结束符
C语言对字符串做了最奇怪的事:在每个字符串的末端加上了一个零。字符串末端的零有几种名字。下面列出了一些:

Null零
二进制零
字符串结束符
ASCII零
\0

警告:

你唯独不能把字符串末端的零叫做零(zero)。C程序员给字符串末端的零起了特殊的名字,这样你就知道在字符串末端用的既不是普通的数值零也不是字符'0'。只有null零出现在字符串末端。

C语言用字符串末端的零标识所有字符串的结束。当你输入文字My name is Julie时,不需要做什么特别的事情。C程序会自动加上null零。你永远看不到null零,但它确实存在。在内存中,只有当C程序遇到null零时才知道字符串结束了。

说明:

查看附录C时,你会找到ASCII表(在第2章中讨论)。第1个条目就是null,它的ASCII数是0。往下找到ASCII 48,会看到一个0。ASCII 48是字符'0',而第1个ASCII值是null零。C语言把null零放在字符串的末端。即使字符串"I am 20"也以ASCII 0结束,它就在20的字符0后面。
线索 字符串结束符有时被称为\0(反斜杠零),这是因为可以把\0放在单引号中来表示null零。因此,'0'是字符零,而'\0'是字符串结束符。
图6-1展示了字符串"Crazy"在内存中是如何存储的。如你所见,尽管字符串只有5个字母,但它占用了6个字节(一个字节是一个存储单元)。作为字符串"Crazy"的一部分,null零也占用了一个字节。
刀劈华山
2011-01-27 · TA获得超过2273个赞
知道小有建树答主
回答量:1338
采纳率:72%
帮助的人:387万
展开全部
一个字符串结束用'\0'
一行写完了换一行用'\n'
如:
char string[128] = "aaaabbbb";
char *str = "yes";
memcpy(string, str, strlen(str));
printf("%s\n", string);

你会发现打印出来的string不是”yes“而是”yesabbbb“
如果要让他输出”yes“的话有两个办法:
一个是把拷贝的大小改成128,也就是memcpy(string, str, 128);
二是将string,也就是”yesabbbb“的第4个字符也就是‘a’,变成‘\0’,即string[strlen(str)] = '\0';

然后再看printf("%s\n", string);这个函数,在%s后面加\n是为了换行,如果你不加\n的话你会发现当你执行完这段程序屏幕输出”yesabbbb“的时候,你的光标是紧跟在这个字符串后面的
一旦你加了‘\n’,光标就会在这个字符串的下一行出现了,所以\n起的是一个换行回车的作用

至于在什么情况下用他们,一般情况下在对字符串操作的时候用\0
对于你觉得需要换行的时候就用\n
一个是对字符串的操作一个是对行的操作,应该很容易理解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-01-27
展开全部
\0是在字符串后用的,
\n是在换行的时候用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kepomsc
2011-01-27 · TA获得超过269个赞
知道小有建树答主
回答量:455
采纳率:100%
帮助的人:209万
展开全部
一般是针对字符串的操作的.
加下\0是告诉计算机遇到它后字符变量结束.
而\n只是代表换行的意思.字符串中可以有任何多个\n,\t,\r...但肯定最结束只有一个NULL即\0结束的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天堂妹儿
2011-01-27 · TA获得超过688个赞
知道小有建树答主
回答量:386
采纳率:0%
帮助的人:279万
展开全部
\n表示回车换行
\0表示空值(数值为0)
'\0'与'0'是有区别的,在机器内部分别表示为00000000和00110000。其中二进制00110000是十进制数48,是字符'0'的ASCII码值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式