c语言求分析:int a=0;if(a=1)a+=10:计算a值,请详尽分析!
5个回答
展开全部
if的判断条件是为真(非0)则执行,为假(为0)则不执行;
首先 int a=0;
然后if(a=1)a+=10;<=>a=1;if(a)a=a+10;
很明显了,a=1,if判断为真,则执行a=a+10即1+10=11
所以最后a=100
首先 int a=0;
然后if(a=1)a+=10;<=>a=1;if(a)a=a+10;
很明显了,a=1,if判断为真,则执行a=a+10即1+10=11
所以最后a=100
追问
额····分析很详尽,但结果打错了
追答
呵呵,打错了,是11
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a=0;
if(a=1) //这个表示赋值,a=1整个表达式的值为1,表示真,因此会执行a+=10,最后a=11。
a+=10;
注意下=与==的区别。
if(a=1) //这个表示赋值,a=1整个表达式的值为1,表示真,因此会执行a+=10,最后a=11。
a+=10;
注意下=与==的区别。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a=0;//定义变量a并初始化为零
if(a=1)//首先将a赋值为1,并将a的值作为表达式的值,条件成立执行if分支
a+=10;//相当于a = a + 10 = 1 + 10 = 11
if(a=1)//首先将a赋值为1,并将a的值作为表达式的值,条件成立执行if分支
a+=10;//相当于a = a + 10 = 1 + 10 = 11
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a=11
if的括号里如果为0者为假,不执行,非零为真,执行,a=1为真,a+=10即为a=a+10,此时a=1,结果为11了
if的括号里如果为0者为假,不执行,非零为真,执行,a=1为真,a+=10即为a=a+10,此时a=1,结果为11了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询