注册 登录
编程论坛 C++教室

define 输出问题

one_june 发布于 2010-04-07 16:01, 506 次点击

   #define T 10
      #define MD 3*T
      printf("%d",30/MD);

   输出为什么是 100...
      麻烦各位大大们!!!


[ 本帖最后由 one_june 于 2010-4-7 16:02 编辑 ]
2 回复
#2
flyingcloude2010-04-07 16:44
请把 #define MD 3*T 改成 #define MD (3*T)

PS: 如果不改的话, printf("%d", 10/MD)被预编译成 printf("%d", 10/3*10),所以就等于100了

[ 本帖最后由 flyingcloude 于 2010-4-7 16:46 编辑 ]
#3
one_june2010-04-07 17:31
回复 2楼 flyingcloude
谢谢2楼兄弟,我明白了...
1