〖讨论〗abc数字多少?
int a b;a=4;
b=5;
c=(a++)*(++a)+(++b)
输出 a b c的结果为多少? a=6
b=6
c=31
因为右结合性,先算(++a),再(a++),再*,再+(++b) 这种题目只会出现在作业里
在实际中几乎没有任何意义
在以后你的开发中,注释以及代码的良好可读性是非常重要的
这种题目对可读性影响很大 引用第0楼only于2006-11-27 10:11发表的“〖讨论〗abc数字多少?”:
int a b;
a=4;
b=5;
c=(a++)*(++a)+(++b)
.......
你不是说你懂C么?
我来告诉你吧,先算++a,运行前算,也就是a=a+1了,所以a=5,同样的也可以知道b=6,都是运行前加了1,然后a++是运行后算的,也是a=a+1,这个时候的a已经变成了5了,刚才算过了,所以现在是再加一变成了6,然后求C也就是把数字代进去,按照四则运算的规则算就是了! 都很厉害的说 ` `
页:
[1]