
int a=5,b=0,c=0; if(a=b+c) printf("***\n"); else ptintf("$$$\n")的输出结果是“$$$"吗?
7个回答
展开全部
结果永远是***,因为if(a=b+c)内部语句是赋值语句,永远成功执行,永远为1,if条件句必执行,故else不执行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先纠正一下else ptintf("$$$\n")中的输出语句写错了。
当执行if(a=b+c)时,a = 0 + 0 = 0,所以 if(a=b+c) 为假,所以执行else后面的语句ptintf("$$$\n");
其输出结果为$$$。
当执行if(a=b+c)时,a = 0 + 0 = 0,所以 if(a=b+c) 为假,所以执行else后面的语句ptintf("$$$\n");
其输出结果为$$$。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是的,因为if语句里面把a赋值为0了,然后if会对a判断,由于a==0为假,故执行else里面的语句,你可以在最后输出a看看是不是等于零检验一下!忘采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(a=b+c)
执行时,a=0,因此赋值表达式的结果为0,即假
因此,执行else后的语句
故显示$$$
执行时,a=0,因此赋值表达式的结果为0,即假
因此,执行else后的语句
故显示$$$

你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询