要从键盘读入含有空格字符的字符串,应该用啥函数?A.getc() B.gets() C.getchar() D.scanf

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了要从键盘读入含有空格字符的字符串,应该用啥函数?A.getc() B.gets() C.getchar() D.scanf相关的知识,希望对你有一定的参考价值。

为什么?

要从键盘读入含有空格字符的字符串,应该用gets()函数。

getc()与getchar()语句都是读取单个字符的,不能用于字符串的读入。而gets()与scanf()语句都可以读取字符串,但是区别在于:scanf()语句不能读空格,一遇到空格则自动结束,用“空格”区别不同的字符串;要读含有空格的字符串则只有gets()函数。



扩展资料

gets()函数用于从缓冲区中读取字符串,其原型如下:char *gets(char *string);

gets()函数从流中读取字符串,直到出现换行符或读到文件尾为止,最后加上NULL作为字符串结束。所读取的字符串暂存在给定的参数string中。

【返回值】若成功则返回string的指针,否则返回NULL。

注意:由于gets()不检查字符串string的大小,必须遇到换行符或文件结尾才会结束输入,因此容易造成缓存溢出的安全性问题,导致程序崩溃,可以使用fgets()代替。

参考技术A A和C都是读取单个字符的,B和D都可以赌取字符串,但是区别在于:
scanf不能读空格,一遇到空格则自动结束,所以要读含有空格的字符串则只有B即是 gets()函数。本回答被提问者采纳
参考技术B D
我在别的网站上找的

请问:C语言中要产生指定长度的空格字符串是用啥函数,从左右截取子串及中间截取子串的函数又是啥?

及需这四个函数,谢谢!!!

memset或strnset函数可用来对一段内存空间全部设置为某个字符
例如,产生n个空格
char s[20]="";
memset( s, ' ', n);s[n]=0;
strnset( s, ' ', n );s[n]=0;

截取子串
char s[]="abcdefghijklmn", char d[20];
左截取s串n个字符到d
strncpy(d, s, n);d[n]=0;
右截取s串n个字符到d
strncpy(d, s + strlen(s) - n, n);d[n]=0;
s第i个位置开始截取n个
strncpy(d, s + i - 1, n);d[n]=0;
参考技术A 除了直接初始化成空格字符串以外,只能一个一个读入,字符串连续读入遇到空字符会自动结束。没有生成这种字符串的库函数。

截取字符串可以用strtok,不过那样需要字符串中有相应标记。而且只能顺序截断。

其余的处理标准库函数应是没有,自己写吧。

以上是关于要从键盘读入含有空格字符的字符串,应该用啥函数?A.getc() B.gets() C.getchar() D.scanf的主要内容,如果未能解决你的问题,请参考以下文章

从键盘输入一串字符串,统计字符串中特定字符的个数(特定字符需要从键盘输入),并输出个数。 说明?

Python中如何从键盘中输入字符串,统计字母,数字,符号和空格的个数?

c++从键盘输入字符串并保存成二进制文件

请问:C语言中要产生指定长度的空格字符串是用啥函数?

从键盘输入一串字符串,统计字符串中特定字符的个数,并输出个数

js中去掉字符串的空格是用啥方法?