题目内容

有以下程序:#define N 5#define M1 N*3#define M2 N*2void main(){ int i;i=M1+M2; printf("%d\n",i);}程序运行后输出结果是()。

A. 10
B. 20
C. 25
D. 30

查看答案
更多问题

以下有关宏的不正确叙述是()。

A. 宏名无类型
B. 宏替换只是字符替换
C. 宏名必须用大写字母表示
D. 宏替换不占用时间运行

以下正确的叙述是()。

A. 在程序的一行中可以出现多个有效的预处理命令行
B. 使用带参宏时,参数的类型应与宏定义时的一致
C. 宏替换不占用运行时间,只占编译时间
D. 宏定义不能出现在函数内部

下列程序运行结果为()。#define P 3#define S(a) P*a*avoid main(){int ar;ar=S(3+5);printf("\n%d",ar);}

A. 192
B. 29
C. 27
D. 25

C语言中,宏定义有效范围从定义处开始,到源文件结束处结束,但可以用()来提前解除宏定义的作用。

A.
B. ifndef
C. endif
D. C.
E. undefine
F. D.
G. undef

答案查题题库