要从键盘读入含有空格字符的字符串,应该用啥函数?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中如何从键盘中输入字符串,统计字母,数字,符号和空格的个数?