几道c语言逻辑运算符的小题

问题1inti=0,j=0;i=3,(j++)+i;结果为什么是i=3,j=1?J为什么不等于4?问题2x=4y=5i=++x==5||++y==6x=5y=5i=1i=... 问题1
int i=0, j=0;
i=3, (j++)+i ;

结果为什么是i=3,j=1?
J为什么不等于4?
问题2
x=4 y=5
i= ++x= =5 | | ++y= =6
x=5 y=5 i=1
i= x++= =5&& y++= =6
x=5 y=5 i=0
不解。。。

问题3
当c=4时,以下的值各多少?
(c=1)&&(c=3)&&(c=5)
为什么值为1?
明明都是错的,应该是0才对呀

再还有,,++i,和i++区别在哪里
小女子着实不明了啊
求指教
还请c语言大神们留下个qq号什么的
以后又不会的问题小女拜请赐教
展开
 我来答
黄晓辉07
2013-07-25 · TA获得超过305个赞
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:181万
展开全部
前两个程序就是++i和i++的区别。
++i。是先把i加一后再执行运算,如i = 0,j = 0; j = ++i;最后i = 1;j = 1;因为先执行i加一,在执行赋值给j;
i++。是先执行运算在执行i加一。如i = 0,j = 0;j = i++;最后i = 1;j = 0;因为先执行赋值给j,在i加一。
第三个程序就是=和==,即赋值号和等于号的区别。=在c语言是赋值,==在c语言才是等于。如果是赋值运算在布尔运算中绝对是对的也就是布尔运算的1
如上面程序就是赋值,c = 1 ,c = 3 ,c = 5。那么这几个相与就是1&&1&&1,结果就是1。
花开伤落
2013-07-25 · TA获得超过118个赞
知道小有建树答主
回答量:90
采纳率:0%
帮助的人:99.9万
展开全部
你看得是什么教材啊 这个教材应该都会说的
问题1,2 都是关于这个++符号的问题 这个你看书自学去 都被说烂了

问题3 (c=1)&&(c=3)&&(c=5) 这个式子中 c=1 c=3 c=5 这三个表达式的值分别为

1 3 5,结合逻辑运算符&& 从左到右 计算 ,每个表达式都为真 (非0即为真)
所以 整个式子都为真
推荐看教材 c primer plus.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冉冉431
2013-07-25
知道答主
回答量:33
采纳率:0%
帮助的人:16.3万
展开全部
i++ :先在i所在的表达式中使用i的当前值,后让i加1

++i :让i先加1,然后在i所在的表达式中使用i的新值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式