1.~scanf方式对于没有确定的输入行数时,一般采用Ctrl+Z结束输入。
对于输入多个字符串,可以保存在二维数组中
char str[100][100];
int i=0;
while(~scanf("%s",str[i]))
{
i++;
}
scanf函数的返回值为正确输入值的个数,如果没有正确输入,scanf返回值为-1,然后取反,就为0,退出循环
但是,这会产生一个问题,当输入空格也会结束输入使的行数增加
下面进行改进
while(gets(a[i]))
{
if(strcmp(a[i]," ")==0)
{
break;
}
i++;
}
**实现思路:**通过比较输入行和空字符串是否相等,如果相等则退出输入
2.EOFEOF即:End of file,文件结束符
char str[100][100];
int i=0;
while(scanf("%s",str[i])==1)
{
i++;
}
这里的1代表的是输入的元素的个数,表示输入元素个数不为1则结束循环
3.scanfchar a[30];
scanf("%[^\n]",a);
scanf中的*[^\n]\表示遇到换行才结束输入*
\
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)