A-A+

有一个名为init.txt的文件 内容如下: #define HDY(A B) A/B #d

2022-08-06 05:58:07 问答库 阅读 176 次

问题详情

有一个名为init.txt的文件,内容如下: #define HDY(A,B) A/B #define PRINT(Y) printf("y=%dn",Y) 有以下程序 #include"init.txt" main() { int a=1,b=2,c=3,d=4,k; k=HDY(a+c,b+d); PRINT(k); } 下面针对该程序的叙述正确的是
A.编译出错
B.运行出错
C.运行结果为y=0
D.运行结果为y=6

参考答案

正确答案:D
解析:本题考查的是带参数的宏定义。不仅要进行简单的字符替换,还要进行参数替换。根据宏替换的规则,本题在进行替换宏HDY时,没有像所希望的那样将HDY(a+c,b+d)替换成(a+c)/(b+ d),而是替换成了“a+c/b+d”,因此结果k为6。

考点:文件,内容