#include <stdio.h>
#include <conio.h>
int main()
{
int a=0;
if(a=0)
{
printf("No is wrong");
}
else printf("No is right");
return 0;
}
我知道 if 条件不是 (a==0) 内给出了 (a=0) 那么为什么它打印 Else 部分“No is right”?
Assignment 返回指定的值,因此语句
a = 0
返回 0
。
在 C 中,0
被评估为 false,因此它跳到 else 子句并打印“No is right”。
您在 if 语句中将 a 分配给 0。
a = 0 # assignment
a == 0 # equality
因此,要修复您的代码,请将 if 语句更改为
if (a == 0)
您当前在分配给执行语句时缺少“==”。 请记住,当您分配变量时,仅使用“=”。 但是,当“询问”/“检查条件”时,您将需要使用 “==”。
此外,您还需要在 else 语句周围加上花括号,以使其激发活力。
a=0
这是一个赋值运算符。每当您使用“=”时,它都会将右操作数的值分配给左操作数。
对于条件,我们使用“==”并检查它是否为真并评估该语句。
a=0 // a equals to 0 (assignment operator) //
a==0 // checking if a equals to 0 (comparison/relational operator) //