有关c++的字符结束符
来源:百度知道 编辑:UC知道 时间:2024/09/23 06:08:02
scanf("%s%s",a,b);,输入abc defg并按enter键,则数组a存入四个字符,b存入4个字符。
为什么b不是存入5个呢?难道‘\0’只在a中有作用,在b中没作用?
按一楼的说法,那b中不应该有5个字符吗? (可书上讲有4个字符)
为什么b不是存入5个呢?难道‘\0’只在a中有作用,在b中没作用?
按一楼的说法,那b中不应该有5个字符吗? (可书上讲有4个字符)
可以算是5个字符吧
因为\0是结尾符,不能被打印,不计在长度以内,所以相当於没有
之前,我还想,为什麼scanf输入的东西,打印时候没有乱码,看来真在后面填个\0
#include<stdio.h>
void main()
{
char a[10], b[10];
scanf("%s%s",a,b);
printf("%s\n%s",a,b);
}
输入 abc defg
a的内容:
0012FF74 61 62 63 00 CC CC CC abc.昍.
0012FF7B CC CC
b的内容:
0012FF68 64 65 66 67 00 CC CC defg.昍
0012FF6F CC CC
我试了一下,结果是
a里放的是"abc"
b里放的是"defg"
他们都是用'\0'来定义结尾的。
用scanf输入字符串系统是不会自己加\ 0的,而且输入时遇到空格就相当于结束了字符串的输入,所以a是有\0的,而输入b后按回车只是换行,并没有结束输入
c语言字符数组的结束位是什么
C程序:输入若干字符,分别统计数字字符的个数、英文字母的个数,当输入换行符时输出统计结果,运行结束。
关于字符数组中结束符的问题
编程统计从键盘输入的字符中数字字符的个数,用换行符结束循环。
空格字符和字符串结束字符的区别
C语言 有关'\0'结束标志符的问题
asp未结束的字符常量求解
C编写,输入一行字符(用回车结束),输出每个字符以及与之对应的ASCII代码值,没行输出三对.
C语言编写,输入一行字符(用回车结束),输出每个字符以及与之对应的ASCII代码值,没行输出三对.
C语言编写,输入一行字符(用回车结束),每个数字字符的前后都有空格.请编程,把这一行中的数字转换成一个整数