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

已懂'\n'是换行,'\0'是字符串结束的标志。但我不明白这里的用途

1.楼主不是很明白'\n'在这里的含义和用法。

2.不懂最后一行的含义。为什么还要输出等于'/0',后面就没乱码了,

第一个,printf里面的\n不用解释了吧 就是简单的换行
循环里面的\n用途为避免多余数据干扰 把本行其它输入全部清空
比如你例子里面的cdff

第二个\0是字符串结束符
当printf以%s输出 或者是puts
这类输出字符串的函数在输出的时候 是遇到\0结束的。如果字符数组中不设置\0那么字符串本来结尾的地方就可能是随机值,输出到这里的时候不会结束,而是继续 直到遇到\0为止
这个很容易导致不可预知后果,打印出乱码已经是最好的一种了,直接导致程序崩溃也是有可能的
事实上 很多以char *作为参数的函数 都是以\0来检查结尾的
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-04-17
\n : 回车换行, 从键盘输入回车使程序继续往下跑,才会打印j的值, 否则一直循环(while)
\0: 字符串的结束符,你定义的数组没有初始化,里面的值是随机的,所有要加'\0'来正确结束字符串,不然它一直往后面找,直到找到'\0'为止, 这样有可能访问到别人的内存空间出错。
相似回答