有以下程序
#include "stdio.h" #define SUB(a) (a) - (a) void main(){ int a = 2, b = 3, c = 5, d; d = SUB(a + b)*c; printf("%d\n", d); }
程序运行后的输出结果是( )
A. 0 B. -12 C. -20 D. 10
变量d的值为SUB(a+b)*c,将SUB(a+b)的意思代入得到:。
(a+b)-(a+b)*5 = -20
答案选择:C.-20
本题考...
用户登录可进行刷题及查看答案
本题考察了#define,也就是宏定义的用法。
宏定义就是在开始代码之前声明一段代码(为了方便表示,我们记作代码①),而在代码①后面又会有一段代码(我们记作代码②),代码①的意思就是代码②。
为了方便理解,我们举一个例子:
#define sqr(x) (x) * (x)
这一段代码的意思是说:sqr(x)的意思就是x的平方,而以后出现的sqr(x)就都变成了(x) * (x)。
回到题目:
已知SUB(a)的意思是(a)-(a)。
变量a值为2,变量b值为3,变量c值为5。
分别将a=2、b=3、c=5代入得:
故答案为:C.-20
登录后提交答案