c语言中if括号中用=号的作用是什么?

如题所述

是赋值,不是比较。
if(x=1) printf("abc"); //表示将1赋给x,x=1这个表达式的结果为真,这个语句中的printf永远都要执行。

if(x==1) printf("abc"); //表示判断x的值是否等于1,若等于1,则执行printf,否则不执行。追问

那如果a=0,b=0,c=0,if(a=b+c),怎么处理?

追答

if(a=b+c) //将b+c的结果0赋给a,且a=b+c这个表达式的结果为假,不会执行if后面的语句。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-03-11
判断条件是否为真,为真则执行。追问

那如果a=0,b=0,c=0,if(a=b+c),就是假的喽?

追答

还真是假的,if后的括号里判断为0时是假,非0时是真
再给你个式子,你试试看
#include
main()
{
int a,b,c;
a=b=c=0;
if(a=b+c)
printf("zhen");
else
printf("jia");
}

第2个回答  2012-03-11
是==吧,判断!
if(a==b)判断a是否等于b!是就执行if语句,不是就不执行
第3个回答  2012-03-11
赋值运算

相关了解……

你可能感兴趣的内容

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