c语言中if(a=5)对于这种表达是什么意思啊??

是不是错误的啊??应该是if(a==5)呢??

这个代码没有上下文不好说的太绝对,不过如果这是你看到的能正确运行结果的代码,那么应该是这样理解。
先赋值,再执行一个if语句,不过,这样的写法真是不好,如果是我,我就说它是错误的。
你可以运行一下下面的代码就想清楚了。#include<stdio.h>
int main()
{
int a = 1 ;
int b = 2 ;
if(a=2)
{
b==a?printf("a=2"):printf("a=1");
}
return 0 ;
}
~
~
~
~
~
~
~
~
~
~
~
~
:set nonu 1,1 全部
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-14
合法

if(a=5)
等价于
a=5;
if(a)

c语言语法很灵活,虽然这样做没错,但因为不易读懂,不提倡。本回答被网友采纳
第2个回答  2010-09-14
不会出错,其结果永远是1,if判断总是正确,同时也把a赋值为5
第3个回答  2020-07-29
你说的是if(a==5)吧?判断a是否和5相等

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网