#include<stdio.h>
int main()
{
int a=2;
if(a==3,4)
printf("hello");
return 0;
}
警告:条件始终为真 为什么总是如此?
答案 0 :(得分:4)
,
不像您认为的那样有效。
,
做的是评估由,
按顺序分隔的所有表达式,然后返回最后一个。
那么你的if语句实际上做的是检查返回false的a==3
,但它会丢弃这个结果。然后检查if(4)
,返回true。
基本上你的代码是:
#include<stdio.h>
int main()
{
int a=2;
if(4)
printf("hello");
return 0;
}
答案 1 :(得分:-2)
a == 3,4
应该是
一个== 3.4
十进制用点(。)而不是逗号(,)来表示。 这里的逗号分割指令,就像在for语句中一样:
for(int a = 0,int b = 10; b&lt; = 0; a ++,b - )