c++的输入方式
int len=1000;
char c[1000];
cin.getline(c,len);
c语言的输入方式
1.正则表达式输入
字符数组输入可以用scanf函数和gets函数
char c[1000];
在输入的数组里有空格用gets函数输入 gets(c);
但是有的比赛用gets()函数编译错误,今天做cccc天梯赛的一道题用gets编译过不了
在输入有空格的情况下也可以用scanf()函数,格式如下:
scanf("%[^\n]",c);
^表示非,^\n表示不是回车一直读,遇到回车结束。
如果要多次输入字符串,比如输入两个字符串,要吸收回车。
比如:
char c[1000],s[1000];
scanf("%[^\n]",c);
scanf("%[^\n]",s);
如果这样写,不吸收回车,那么数组s就输不进去,想输进去就要在scanf("%[^\n]",c);之后加个getchar()吸收回车;
getchar()也可以换成scanf("%*c");
scanf("%*c"); 函数的作用是读入一个字符但不保存。
所以多组输入带空格的字符数组可以这样写:
while(scanf("%[^\n]%*c",c)!=EOF){
}
2.fgets()函数、
fgets(s,len,stdin); //len是数组大小
int len=strlen(s);
len--;
s[len]=0;