pat编译器取消gets函数的用法
字符串输入函数gets()
在c语言中读取字符串有多种方法,比如scanf() 配合%s使用,但是这种方法只能获取一个单词,即遇到空格等空字符就会返回。如果要读取一行字符串,比如:
I love you!
这种情况,scanf()就无能为力了。这时我们最先想到的是用gets()读取.
gets()函数从标准输入(键盘)读入一行数据,所谓读取一行,就是遇到换行符就返回。gets()函数并不读取换行符’\n’,它会把换行符替换成空字符’\0’,作为c语言字符串结束的标志。
gets()函数经常和puts()函数配对使用,puts()函数用于显示字符串,并自动在字符串后面添加一个换行标志’\n’。
算法笔记很多次引用gets()函数,但pat考试已放弃用gets()
那么我就介绍一下他的替代方法
1、
①增加#include
using namespace std;
②gets --> cin.getline
char s[90];
cin.getline(s,90); //从istream中读取至多90个字符(包含结束标记符)保存在s对应的数组中。
int len=strlen(s);