运行下面这个程序的时候出现异常,(mac系统):
#include<stdio.h>
int x=1;
int main()
{
while(x<=10)
{
if(x==5)
continue;
printf("%d ",x);
x++;
}
printf("OK");
return 0;
}
在其他其他电脑上(windows系统)运行成功,打出来应该是1 2 3 4 然后陷入死循坏,但是没有打印,并且如果接下来运行其他程序也不会出结果,必须终止终端才能重新开始。
一开始怀疑是先运算出结果再打印,因此陷入循环就不打印了。
但是对于下面这个程序:
#include<stdio.h>
int main()
{
printf("1\n");
while(1);
printf("2");
return 0;
}
打印了数字1,然后就陷入循环没有响应,并且也是运行其他程序也不会出结果,必须终止终端才能重新开始。
不知道为什么,求解答/
第一个 当x=5时 执行 if(x==5) continue;下面x++不会运行了,所以x一直等于5,一直continue,可以把放在x++放在最上面,输出就没有5了
第二个 while(1);循环一直成立,本来就是死循环啊,你把1换0,循环不成立就会输出2了
等一下,是第一个程序无输出无响应,而不是为什么是1 2 3 4