#define c语言预处理命令2
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/12 04:06:13
#define c语言预处理命令2
以下程序的运行结果是 .
#define MAX(A,B) (A)>(B)?(A):(B)
#define PRINT(Y) printf(“Y=%d\t”,Y)
main()
{
int a=1,b=2,c=3,d=4,t;
t=MAX(a+b,c+d);
PRINT(t);
}
A)Y=3 B)存在语法错误 C)Y=7 D)Y=0
请给我解释下PRINT(t);在宏展开是怎么表示的,
以下程序的运行结果是 .
#define MAX(A,B) (A)>(B)?(A):(B)
#define PRINT(Y) printf(“Y=%d\t”,Y)
main()
{
int a=1,b=2,c=3,d=4,t;
t=MAX(a+b,c+d);
PRINT(t);
}
A)Y=3 B)存在语法错误 C)Y=7 D)Y=0
请给我解释下PRINT(t);在宏展开是怎么表示的,
宠处理的时候,一定要记住的是,直接代进去,任何多余的动作都不能有
还有记住一点的是在printf""双括号里的是不能替代的话,所以这里的Y是输出形式.而不是字符常量Y的替代.这是一种特殊规定.希望楼主记住
PRINT(t)=printf("Y=%d\t",t);所以结果必将是Y=(一个值)
又因为
MAX(a+b,c+d)
(a+b)>(c+d)?(a+b):(c+d)
结果是7
所以
结果是Y=7
还有记住一点的是在printf""双括号里的是不能替代的话,所以这里的Y是输出形式.而不是字符常量Y的替代.这是一种特殊规定.希望楼主记住
PRINT(t)=printf("Y=%d\t",t);所以结果必将是Y=(一个值)
又因为
MAX(a+b,c+d)
(a+b)>(c+d)?(a+b):(c+d)
结果是7
所以
结果是Y=7
#define c语言预处理命令
关于C语言预处理命令在程序的一行上可以出现多个有效的预处理命令行.预处理命令可以出现在函数的内部.这2句话只有一句是错误
C语言.在C语言程序中,符号常量的定义要使用___________预处理命令
在C语言中,定义一个符号常量应用预处理命令
C语言,假设我想在程序中用圆括号代替花括号,预处理define行该如何写?
c语言中#define ABC(x)
请问C语言中#define osal_task_create(...) OSAL_INVALID_ID
在C语言中为什么执行过 #define N 2 #define M N+1 #define NUM (M+1)*M/2以
C语言,#include #define f printf main(){\x05int a[3][4]={0,1,2,
在c语言中,什么是预处理部分,预处理部分是不是也是头文件,即是不是包含文件?预处理部分的作用是什么?
C语言 选择题设以下是宏定义:#define N 3#define Y(n) (N+1*n) 则执行语句:z=2*(N*
C语言 设有如下宏定义:#define A 3+2 #define B A*A,则表达式B*B的值为多少