搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 运算级后问题。
标题:
运算级后问题。
只看楼主
花脸
等 级:
蝙蝠侠
威 望:
9
帖 子:788
专家分:907
注 册:2017-1-4
结帖率:
95.37%
楼主
已结贴
√
问题点数: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
吹水佬
等 级:
版主
威 望:
432
帖 子:10064
专家分:41463
注 册: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
吹水佬
等 级:
版主
威 望:
432
帖 子:10064
专家分:41463
注 册: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
吹水佬
等 级:
版主
威 望:
432
帖 子:10064
专家分:41463
注 册:2014-5-20
第
6
楼
得分:0
以下是引用
花脸
在2017-3-23 20:39:58的发言:
???
还有问题?
其实把复杂的语句变换成简单的语句较好理解点就是了。
2017-03-23 20:53
吹水佬
等 级:
版主
威 望:
432
帖 子:10064
专家分:41463
注 册: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
吹水佬
等 级:
版主
威 望:
432
帖 子:10064
专家分:41463
注 册: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
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-475395-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.145074 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved