|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 运算级后问题。
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
564
人关注过本帖,
1
人收藏
标题:
运算级后问题。
只看楼主
加入收藏
花脸
等 级:
蝙蝠侠
威 望:
9
帖 子:788
专家分:907
注 册:2017-1-4
结帖率:
95.37%
楼主
收藏
(1)
已结贴
√
问题点数:20 回复次数:9
运算级后问题。
#include<stdio.h>
int main()
{
int a=-1,b=4,k;
k=(++a<0)&&!(b--<=0);//
这一步(++a<0)&&!(b--<=0) 是怎么执行的??
printf("%d\n%d\n%d\n",a,b,k);
return 0;
}
//还有一个
b=1;
a=b++
//结果是a=1,不应该a=b之后再加一,结果等于2吗?
a=++b
//结果 a=2;
2017-03-22 20:52
举报帖子
使用道具
赠送鲜花
吹水佬
等 级:
版主
威 望:
451
帖 子:10611
专家分:43210
注 册:2014-5-20
第
2
楼
收藏
得分:20
int a=-1,b=4,k;
k=(++a<0)&&!(b--<=0);
相当于:
++a;
k=(a<0);
if (k) k=!(b--<=0);
因k==0, k=!(b--<=0)没执行。
a=b++;
相当于:
a=b;
b++;
a=++b;
相当于:
++b;
a=b;
2017-03-22 21:11
举报帖子
使用道具
赠送鲜花
花脸
等 级:
蝙蝠侠
威 望:
9
帖 子:788
专家分:907
注 册:2017-1-4
第
3
楼
收藏
得分:0
a=b++;执行后是 a=1.b=2?
++a;
++a;
k=(a<0);
if (k) k=!(b--<=0);
这为什么是if语句?
因k==0, k=!(b--<=0)没执行。
2017-03-22 21:29
举报帖子
使用道具
赠送鲜花
吹水佬
等 级:
版主
威 望:
451
帖 子:10611
专家分:43210
注 册:2014-5-20
第
4
楼
收藏
得分:0
以下是引用
花脸
在2017-3-22 21:29:53的发言:
a=b++;执行后是 a=1.b=2?...执行过程是b=1;a=b;b++;结果不是a=1,b=2吗?
++a;
++a;
k=(a<0);
if (k) k=!(b--<=0);
这为什么是if语句?...k就是(++a<0),如果(++a<0)==0就不会再去理!(b--<=0)的。
因k==0, k=!(b--<=0)没执行。
2017-03-22 23:09
举报帖子
使用道具
赠送鲜花
花脸
等 级:
蝙蝠侠
威 望:
9
帖 子:788
专家分:907
注 册:2017-1-4
第
5
楼
收藏
得分:0
回复 4楼 吹水佬
???
2017-03-23 20:39
举报帖子
使用道具
赠送鲜花
吹水佬
等 级:
版主
威 望:
451
帖 子:10611
专家分:43210
注 册:2014-5-20
第
6
楼
收藏
得分:0
以下是引用
花脸
在2017-3-23 20:39:58的发言:
???
还有问题?
其实把复杂的语句变换成简单的语句较好理解点就是了。
2017-03-23 20:53
举报帖子
使用道具
赠送鲜花
吹水佬
等 级:
版主
威 望:
451
帖 子:10611
专家分:43210
注 册:2014-5-20
第
7
楼
收藏
得分:0
以下是引用
花脸
在2017-3-23 20:39:58的发言:
???
还有问题?
其实把复杂的语句变换成简单的语句较好理解点就是了。
2017-03-23 20:53
举报帖子
使用道具
赠送鲜花
花脸
等 级:
蝙蝠侠
威 望:
9
帖 子:788
专家分:907
注 册:2017-1-4
第
8
楼
收藏
得分:0
回复 7楼 吹水佬
不是赋值运算的优先级比算数运算低吗?不应该是先执行b++再执行a=b吗?
2017-03-23 21:30
举报帖子
使用道具
赠送鲜花
吹水佬
等 级:
版主
威 望:
451
帖 子:10611
专家分:43210
注 册:2014-5-20
第
9
楼
收藏
得分:0
以下是引用
花脸
在2017-3-23 21:30:25的发言:
不是赋值运算的优先级比算数运算低吗?不应该是先执行b++再执行a=b吗?
这个是b自身的问题,好象与操作符优先级无关。
a=b++;这句里的b++表达的是先将b先赋给a后再是b自身++,就算写成a=(b++);结果也一样。
a=++b;这句里的++b表达的是先将b自身++后再赋给a。
2017-03-24 07:04
举报帖子
使用道具
赠送鲜花
花脸
等 级:
蝙蝠侠
威 望:
9
帖 子:788
专家分:907
注 册:2017-1-4
第
10
楼
收藏
得分:0
回复 9楼 吹水佬
恩
好吧 谢谢你。
2017-03-26 17:49
举报帖子
使用道具
赠送鲜花
10
1/1页
1
快速回复:
运算级后问题。
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.025259 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved