标题:宏的问题
只看楼主
mikewolf
Rank: 1
等 级:新手上路
帖 子:175
专家分:0
注 册:2004-7-3
得分:0 

大家再研究研究下面的东东!

1、

#include<stdio.h> #include<conio.h> int main(void) { int a=3,s; s=++a*a+++a; printf("%d\n",s); printf("%d\n",a); getch(); return 0; }

2、

#include<stdio.h> #include<conio.h> int main(void) { int a=3; printf("%d\n",++a*a+++a); printf("%d\n",a); getch(); return 0; }

2004-08-18 12:23
mikewolf
Rank: 1
等 级:新手上路
帖 子:175
专家分:0
注 册:2004-7-3
得分:0 

3、

#include<stdio.h> #include<conio.h> int main(void) { int a=3,s; s=++a*a+(++a); printf("%d\n",s); printf("%d\n",a); getch(); return 0; }

2004-08-18 12:23
mikewolf
Rank: 1
等 级:新手上路
帖 子:175
专家分:0
注 册:2004-7-3
得分:0 
以下是引用xuwinsun在2004-08-18 12:17:56的发言: 我感觉是在函数中a++后改变了a中的值,而表达式中没有改。当然指的是a++,对++a是一定要改掉的。 对吗? 郁闷!
我认为是这样的,并且有没有括号,也有差别!
2004-08-18 12:25
mikewolf
Rank: 1
等 级:新手上路
帖 子:175
专家分:0
注 册:2004-7-3
得分:0 
最后说明,研究编译器的使用技巧,好象没有什么意义,还不如找点编译器方面的资料,自己仿写一个吧!(当然很有难度的哈)
2004-08-18 12:28
xuwinsun
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2004-8-17
得分:0 


挺有意思!
郁闷!

我:“日本人也算人?” 上帝:“不算。将它们圈养就行了。美国人在它们头上扔两蛋不就乖得很吗?你们讲究什么仁义道德?” http://www./bbs/dispbbs.asp?BoardID=1&RootID=36493&id=36500&star=1&skin=0
2004-08-18 12:41
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
得分:0 

越来越乱了,我本来以为自己理解的很彻底了,现在看全错了,

这个还是少碰到好,知道就可以,不要乱用先后加加减减为好!!


差点把你忘了...
2004-08-18 13:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-4350-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.719816 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved