为什么输出ok?

来源:百度知道 编辑:UC知道 时间:2024/06/07 02:18:01
源代码如下:
#include<stdio.h>
void main()
{
int x=1;
if(x=2)
printf("OK");
else if(x<2)printf("%d\n",x);
else printf("Quit");
}
为什么会输出OK呢??怎么个执行过程呢?分析一下吧!
是我提问的有问题了。呵呵。这是书上的一道选择题。答案是选输出结果是OK。我用VC++试了。结果真是OK。我不知道其中的运行过程。为什么会输出OK呢?

X=2是赋值语句,应为X==2。
X=2就是把X值改为2,结果X非0,判断为真,所以输出OK。

因为你在if里面写的是x=2,应该是x==2

#include<stdio.h>
void main()
{
int x=1;
if(x==2) //if判断等于应该用 = =
printf("OK");
else if(x<2)printf("%d\n",x);
else printf("Quit");
}