在下面的代码中,假设i和j的值在循环体中不变,以下这些代码能导致无限循环吗?为什么?
printf("Input two integers:");
scanf("%d%d",&i,&j);
while(i*j < 0 && ++i != 7 && j++ !=9)
{
......... /*do somthing*/
}
----------------解决方案--------------------------------------------------------
不会,从式子看,i,j随便一个负,那么另一个一定为正,&&这个为与,由些可看不会死循环.
----------------解决方案--------------------------------------------------------
不会是死循环的!因为是&&,看你输入!还有楼主的图像怎么不动了???
----------------解决方案--------------------------------------------------------
哦,谢谢啊!~~
我的图象吗?动着的啊!~~
----------------解决方案--------------------------------------------------------
要么不循环,要么是循环,不会死循环.to神经塔是在动啊!
----------------解决方案--------------------------------------------------------
要么不循环,要么是循环,不会死循环.to神经塔是在动啊!
神经塔是什么意思啊?
呵呵!~~~
----------------解决方案--------------------------------------------------------
呵呵,不好意思,我自己把internet的属性给改了!忘记了!
----------------解决方案--------------------------------------------------------
在下面的代码中,假设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),故循环体也未执行.
因此,循环会在有限次内结束.
----------------解决方案--------------------------------------------------------
要么不循环,要么是循环,不会死循环说给楼主你,而神经塔是在动啊!本人说给神经塔
----------------解决方案--------------------------------------------------------
彻底明白了,多谢大家啊!~~
----------------解决方案--------------------------------------------------------