#include <stdio.h>
int main(void)
{ int x=0;
if(x=2)
printf("OK");
else if(x<2) printf("%d\n",x);
else printf("Quit");
return 0;
}
输出 OK
C语言中一个等号是赋值,两个等号才是相等的!
题主代码存在一个我之前常出现的问题。
if语句内是逻辑判断,逻辑判断是用“==”或者“!=”,而“=”是赋值,把右边的赋值给左边。
你这是赋值 x=2赋值条件肯定满足啊 不输出ok输出啥 进了第一个if分支后面肯定就不会进了啊
一般if()括号里面写的是逻辑判断,你写x=2 是赋值,这个永远为真
这有什么关系吗,你都int x=0
=就是赋值的意思
==就是数学的等于
第一个, 0赋值与x
应该是
if x==2
判断x==2
if(x==2) 这里应该是比较运算符。