c语言宏代换选择题以下程序段中宏代换后存在错误的是_____  A、#define ar_size 100   int

c语言宏代换选择题
以下程序段中宏代换后存在错误的是_____
  A、#define ar_size 100
   int array1[ar_size];
  B、#define PI 3.1415926
   #define S(r) PI*(r)*(r)
     ……
    area=S(a+b);
  C、#define PI 3.1415926;
   #define S(r) (r)*(r)* PI
     ……
    area=S(a+b);
  D、#define PI 3.1415926
    #define S (r) PI*(r)*(r)
      ……
    area=S(a);
答案是D,为什么呢
jiangxixb 1年前 已收到1个回答 举报

kate615 幼苗

共回答了18个问题采纳率:94.4% 举报

D、#define PI 3.1415926
    #define S (r) PI*(r)*(r)
      ……
    area=S(a);‘
因为 你define 的时候是S (r) 有个空格哦 而 area=S(a) 没有空格 所以宏替换会失败的
你如果在linux下编辑 你可以 gcc -E 加上你的程序

1年前

5
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.031 s. - webmaster@yulucn.com