问题 单项选择题

有以下程序:
#include <stdio.h>
#define S(x)4*(x)*x+1
main()
int k=5,j=2;
printf("%d\n",S(k+j));

程序运行后的输出结果是

A) 197
B) 143
C) 33
D) 28

答案

参考答案:B

解析: 宏定义又称为宏代换,格式为“#define标识符字符串”,其中的标识符就是所谓的符号常量,也称为“宏名”,宏的预处理工作也叫做宏展开,即将宏名替换为字符串。本题中把S(k+j)替换成4*(k+j)*k+j+1,计算结果为143。

选择题
多项选择题