如题所述
是赋值,不是比较。
if(x=1) printf("abc"); //表示将1赋给x,x=1这个表达式的结果为真,这个语句中的printf永远都要执行。
if(x==1) printf("abc"); //表示判断x的值是否等于1,若等于1,则执行printf,否则不执行。追问
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语句,不是就不执行
if(a==b)判断a是否等于b!是就执行if语句,不是就不执行
第3个回答 2012-03-11
赋值运算