首先,明确一点,表达式是有值的,接下来开始阐述。
例如:表达式scanf("%d%d",&m,&n)的值会随着输入m,n的成功与否决定表达式的值。
当输入 1 2 时,表达式的值为2,因为m和n都成功输入
当输入 1 a 时,表达式的值为1,因为只有m被成功输入
当输入 a 1 时,表达式的值为0,因为m输入失败,后面的n直接就不执行输入了
因此
while(scanf("%d%d",&m,&n)!=EOF) 可以实现多组数据输入//EOF的也有值,且值为-1
除此之外,while(cin>>m>>n) 也可以实现多组数据输入,因为cin>>m>>n也有值,且值为true 或 false