scanf表达式
scanf(...)表达式的值为int,表示成功读入的变量个数。
int n,m;
printf("%d",scanf("%d%d",&n,&m));
/*
输入数据为:
1.12,56
2.40,a
3.a,19
输出数据分别为:
1.2
2.1
3.0
*/
scanf(...)值为EOF(即-1)则说明输入数据已经结束
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)//EOF是直接拿来用的符号常量
{
printf("%d",n+m);
}
Windows系统下,不停输入两个整数再敲回车,则不同输出他们的和,直到在单独一行输入Ctrl+Z然后回车,程序就会结束(单独一行的Ctrl+z表示输入结束)
在Mac OS或Linux系统下则是Ctrl+D或Ctrl+W
cin表达式
cin>>m>>n...表达式的值,在成功读入所有变量时为true,否则为false
用freopen重定向输入
调试程序时,每次运行程序都要输入测试数据,太麻烦
可以将测试数据存入文件,然后用freopen将输入有键盘定向为文件,则运行程序是不再需要输入数据了
int main(){
freopen("c:\\tmp\\text.txt","r",stdin);//此后所有输入都来自文件c:\tmp\text.txt,代码中用“\\”是因为“\”在c语言中表示了其他的意义而想要表示文件中的“\”则需要使用“\\”
int n,ma=0;
while(cin>>n){
if(n>ma)
ma=n;
}
printf("%d",mx);
return 0;
}