c语言输入字符串有空格怎么办
char str[50];printf("输入一段字符串:");fgets(str,50,stdin);采用fgets输入可以识别空格,如输入hello world,输出hello world若采用scanf,空格就相当于一个结束符,识别不了如输入hello world,只能输出hello只不过用fgets输入的话,结尾会多一个‘\0’,如hello world字符串长度为12scanf的话,如h
·
char str[50];
printf("输入一段字符串:");
fgets(str,50,stdin);
采用fgets输入可以识别空格,如输入hello world,输出hello world
若采用scanf,空格就相当于一个结束符,识别不了
如输入hello world,只能输出hello
不管用fgets输入还是scanf输入结尾都会有’\0’。
strlen()函数求出的字符串长度为有效长度,既不包含字符串末尾结束符 ‘\0’;
sizeof()操作符求出的长度包含字符串末尾的结束符 ‘\0’;
length()函数求出的字符串长度不包含字符串末尾结束符’\0’。
strlen函数用之前需要先对字符数组定义,例如char str[]={“hello world”};或者char str[]={‘h’,‘e’,‘l’,‘l’,‘o’,’ ‘,‘w’,‘o’,‘r’,‘l’,‘d’,’\0’};
更多推荐



所有评论(0)