c语言中如何用scanf读取一个带有空格的string

如题所述

第1个回答  2020-01-24
连续批量赋值可以用memset
char
a[20];
memset(a[2],'a',5);//对数组a第3个元素开始的连续5个元素统一赋值为字符'a'
如果每个需要赋值的元素都不同,就只能一个个赋值了。
第2个回答  2020-02-09
字符串本来就不是专职用来读取字符串的,建议你需要读取带字符串的数据,可以用
string.h头的
使用char
*
gets(char
*)读入
使用
char
*puts(char
*)
输出
较为安全的可以使用:
使用char
*
fgets(char
*,int,stdin)读入
使用
char
*
fputs(char
*,int,stdout)
输出
scanf()就是到空格停止读取但是不丢弃数据

c语言中如何用scanf读取一个带有空格的string
要输入带空格的字符串,要用到一个格式字符:%[] --> 一个字符集。“%[]”的作用是扫描字符集合:例如:scanf(“%[^\\n]”,str);具体作用是:如果输入的字符属于方括号内字符串中某个字符,那么就提取该字符;如果一经发现不属于就结束提取。该方法会自动加上一个'\\0'到已经提取的字符后面。...

c语言中如何用scanf读取一个带有空格的string
scanf()就是到空格停止读取但是不丢弃数据

C语言用如何用scanf输入带有空格的字符串
回答:亲~~~ 可以用gets();语句哦~~~ 如: #include <stdio.h> void main() { char str[20]; gets(str); printf("%s",str); } gets();语句是以回车结束的,而scanf语句是以空格结束的~~~

c语言中怎样用scanf()读入带空格的字符串
或者:char str[100];scanf("%[^\\n]",str);\/\/遇到\\n换行符停止 printf("%s\\n",str);输出

C语言输入一个中间代有空格的字符串,为什么不可以用scanf? 急急急
默认是以空白符作为结束标记的,如果要用scanf读取带空格的字符串,可以这样。以换行符作为结束标记,从而读取带空格的字符串。include <stdio.h> int main() { char str[100]; scanf("%[^\\n]",str); printf("%s",str); return 0;} ...

scanf()如何读取一整行(转)
scanf("%[^ ]", &str);return 0;}说明:在scanf函数中, 可以使用%c来读取一个字符, 使用%s读取一个字符串, 但是读取字符串时不忽略空格,读字符串时忽略开始的空格,并且读到空格为止,因此只能读取一个单词,而不是整行字符串,因此一般使用fgets来读取一个字符串。其实scanf函数也可完成这样的功能...

在c语言中只用scanf怎能输入带空格的字符?
下面这个读一整行,允许夹空白,tab 等等。类似 gets()。include<stdio.h> main(){ char str[200];scanf("%[^\\n]",str);printf("%s\\n",str);}

scanf用%c的时候可以识别空格吗?
c前面的空格就是用来屏蔽空白符的。(scanf()读入字符串中的空格)include<stdio.h> int main(){ char a[777];scanf("%[^\/n]",&a);printf("%s",a);return 0;}

c语言scanf 和gets对字符串的输入
用scanf来读取一个字符串时,字符串中是不可以出现空格的,一旦出现空格,后面的数据就会舍弃残留在缓冲区中。其实有另外一个函数是可以接受空格的,那就是gets().第一个字符串取了Hello world! 接受了空格符,而没有像上一个程序那样分成了两个字符串,所以如果要读入一个带空格符的字符串时因该用...

c语言怎样接受按行输入的一段用空格分开的数字
在 scanf 中,从键盘输入的一切数据,不管是数字、字母,还是空格、回车、Tab 等字符,都会被当作数据存入缓冲区。存储的顺序是先输入的排前面,后输入的依次往后排。按回车键的时候 scanf 开始进入缓冲区取数据,从前往后依次取。但 scanf 中 %d 只识别“十进制整数”。对 %d 而言,空格、回车、Tab ...

相似回答
大家正在搜