'\0' 0x00 用于做处理串时为串的结束 '\n' 0x0A 用于标准输入时一行内容的结束 两都是不同的字符 如果输出到屏幕, 输出'\0' 光标在原处不动,这就是所谓的"空" 输出'\n' 光标换到下一行开头
转义字符。
(1)\0其实就是0,字符串存入字符数组的时候最后一个字符作为字符串的结尾。告诉计算机,这个字符串结束了。在处理字符串需要清理换行符'\n'的时候,我们可以把'\n'='\0';
'0'代表字符0,不等于0;
(2)\n是回车换行符
比如:
printf("%d\n",a);就会输出a的值以后,自动换行。
putchar('\n');输出一个回车。
其它的你可以了解一下\t,相当于一个很大的空格。
\0是字符串才有的转义字符,字符是没有的。而且\0是你输入完这句话(你肯定会按回车确定,这时候系统就知道你输入完了这句话)系统自动加上的。
例如我们对一个字符数组进行初始化(数组可初始化但不可整体赋值):
字符:char
a[4]={'c','h','i','n'};
字符串:char
a[5]={'c','h','i','n','\0'};
即使你不输入\0也要给它留出空间来,否则数组会越界。
最经常用的输入输出字符串的函数就是gets和puts(或者scanf("%s",str);等)。
gets(str);之后你按回车,系统会自动在这个数组对应下标的那个位置加一个\0,不需要手动。
puts(str);也是以\0作为结束标志,但是\0不会输出。