[求助]while的问题
在下面的代码中,假设i和j的值在循环体中不变,以下这些代码能导致无限循环吗?为什么?
printf("Input two integers:");
scanf("%d%d",&i,&j);
while(i*j < 0 && ++i != 7 && j++ !=9)
{
......... /*do somthing*/
}
在下面的代码中,假设i和j的值在循环体中不变,以下这些代码能导致无限循环吗?为什么?
printf("Input two integers:");
scanf("%d%d",&i,&j);
while(i*j < 0 && ++i != 7 && j++ !=9)
{
......... /*do somthing*/
}
1.若i,j同号或i,j都为0,则i*j>=0恒成立,故循环体根本不会执行.
2.若i,j异号,则并定有一个为正,这个正数(在执行若干次++操作之后)并定会导致与7或,9相等(当然那个负数经过若干次++操作后也可能先达到7),故循环体也未执行.
因此,循环会在有限次内结束.