📅  最后修改于: 2020-10-23 06:01:09             🧑  作者: Mango
正确的选项是(d)。
说明:
没有这样的运算符,称为$。第二和第三运算符分别用于字符串化和令牌粘贴运算符。
因此,运算符’\’用于在下一行中继续宏的定义。
正确的选项是(c)。
说明:
没有使用名称__ C++ __定义这样的宏,但是__ cplusplus __是根据ANSI C规范预定义的宏。
因此,根据ANSI C,__ C++ __是无效的预定义宏。
#include
int main()
{
int j;
#if A
printf("Enter the number:");
scanf("%d", &j);
#elif B
printf("The number is even");
return 0;
}
正确的选项是(b)。
说明:
有条件的宏语句#如果必须有一个#ENDIF语句。在程序中,没有使用#endif语句。
因此,该程序返回错误:文件意外结尾,因为没有匹配的#endif。
正确的选项是(d)。
说明:
宏语句#undef未定义先前声明的宏符号。
宏语句#if #ifdef #elif称为条件宏。
因此,所有给定的语句都是C语言中正确的宏预处理程序指令。
#include
#define MEAN(p, q, r, s, t) (p+q+r+s+t)/5
int main(){
int p=1, q=2, r=3, s=4, t=5, mn;
mn=MEAN(p,q,r,s,t);
printf("Mean of 5 numbers=%d\n",mn);
return 0;
}
正确的选项是(a)。
说明:
在程序中,宏MEAN由扩展定义。
在预处理期间,将MEAN的出现替换为其扩展,然后将其发送到编译器并按以下方式执行程序:
因此,上述程序的输出为“ 5个数字的均值= 3″。