求解C语言中'\n'和'\0'用法,意思。

如题所述

第一个,printf里面的\n不用解释了吧
就是简单的换行
循环里面的\n用途为避免多余数据干扰
把本行其它输入全部清空
比如你例子里面的cdff
第二个\0是字符串结束符
当printf以%s输出
或者是puts
这类输出字符串的函数在输出的时候
是遇到\0结束的。如果字符数组中不设置\0那么字符串本来结尾的地方就可能是随机值,输出到这里的时候不会结束,而是继续
直到遇到\0为止
这个很容易导致不可预知后果,打印出乱码已经是最好的一种了,直接导致程序崩溃也是有可能的
事实上
很多以char
*作为参数的函数
都是以\0来检查结尾的
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-04-09
'\0'
0x00
用于做处理串时为串的结束
'\n'
0x0a
用于标准输入时一行内容的结束
两都是不同的字符
如果输出到屏幕,
输出'\0'
光标在原处不动,这就是所谓的"空"
输出'\n'
光标换到下一行开头
如果是老式的打字机,\n
只是换到下一行,回到头是\r的作用,
一般的系统上输入enter时即换了行又回了车,读到的字符只是\n
读取一个串时,标准输入函数总是会在输入内容完毕给内容补一个'\0'
第2个回答  2020-04-08
\n
:
回车换行,
从键盘输入回车使程序继续往下跑,才会打印j的值,
否则一直循环(while)
\0:
字符串的结束符,你定义的数组没有初始化,里面的值是随机的,所有要加'\0'来正确结束字符串,不然它一直往后面找,直到找到'\0'为止,
这样有可能访问到别人的内存空间出错。
相似回答
大家正在搜