来个简单问题...
c++吧
全部回复
仅看楼主
level 7
iols 楼主
#include <stdio.h>
#define SUB(a) (a)-(a)
int main()
{
int a=2,b=3,c=5,d;
d=SUB(a+b)*c;
printf("%d\n",d);
}
VC++6.0环境下编译运行结果为-20 求解释原因 [惊讶]
2011年09月16日 13点09分 1
level 12
不知道为什么
看到最后一行突然就不想看了
2011年09月16日 13点09分 2
level 7
iols 楼主
copy的 忘记return
原因找到了 谢了
2011年09月16日 13点09分 3
level 7
iols 楼主
#include <stdio.h>
#define SUB(a) (a)-(a)
int main()
{
int a=2,b=3,c=5,d;
d=SUB(a+b)*c;
printf("%d\n",d);
return 0;
}
//(a+b)-(a+b)*c
//(2+3)-(2+3)*5
2011年09月16日 13点09分 4
level 7
iols 楼主
提前结贴
2011年09月16日 13点09分 5
level 9
最外层要有括号啊。。
SUB(a+b)*c
替换后为
(a+b)-(a+b)*c
我以为你的意思应该是
((a+b)-(a+b))*c吧??
所以..应该改成
#define SUB(a) ( (a) - (a) )
胡言乱语..敬请无视..
2011年09月16日 13点09分 6
level 9
[囧]我刚发出来..
2011年09月16日 13点09分 7
level 7
iols 楼主
...刚想到#define的宏替换...然后...就结贴了[瞌睡]
2011年09月16日 13点09分 8
level 9
[鲁拉]打个广告
blog.abreto.net~~
2011年09月16日 13点09分 9
1