#include <stdio.h>
int main()
{
int n, i;
for (;;)
{
i = 0;
while (scanf("%d", &n) && i<3)
{
i++;
printf("%d ", n);
}
printf("\n");
}
return 0;
}
在VC6.0中输入1 2 3 4 5 6 7 8 9的输出为:
1 2 3
5 6 7
9
原来是while (scanf("%d", &n) && i<3)的问题,将它换成while (i<3 && scanf("%d", &n))问题就解决了。在while表达式&&中只要第一个表达式为假就不会执行第二个表达式,直接结束循环,当第一个表达式为真就执行第二个。