
急急急!恳请C语言高手帮我解决小疑问,小生感激不尽。
#include<stdio.h>main(){inti=10,j=0;if(j=0)i++;elsei--;}输出答案为:9这是为什么呀?if(j=0)这是不合法的判断...
# include <stdio.h>
main()
{int i=10,j=0;
if(j=0)
i++;
else
i--;
}
输出答案为:9 这是为什么呀?if(j=0)这是不合法的判断条件,但又代表什么意思呢? 展开
main()
{int i=10,j=0;
if(j=0)
i++;
else
i--;
}
输出答案为:9 这是为什么呀?if(j=0)这是不合法的判断条件,但又代表什么意思呢? 展开
展开全部
if(j=0) 这个错误判断和"j=",没有关系,看的是"="后面的值,你可以换成"j=1"看看,这个错误判断以"="后面的值为判断依据,非0为真,0为假.
追问
如果非0为真,0为假,当换成(j=1)时,输出结果为11,在定义时把0赋给j,那j 不就是假吗?那当if(j=0)时应该为11,当if(j=1)时应该为9才对,怎么两个反过来了???
追答
非0为真: 当换成if(j=2) 即 if (2) 即2!=0 为真 作 i++
0为假: 当换成if(j=0) 即 if (0) 即0==0 为假 作 i--
展开全部
j=0是赋值语句
应该写成j==0
赋值语句作为判断条件的时候是j ,也就是0,假
应该写成j==0
赋值语句作为判断条件的时候是j ,也就是0,假
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
= =是判断语句, = 是赋值语句
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假。 这个判断浯句一开炲就不成立
即if(0)...;没执行所以是9
即if(0)...;没执行所以是9
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(j=0)
是赋值操作,不是判断
是赋值操作,不是判断
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询