#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请给我解释
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/25 04:11:02
![#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请给我解释](/uploads/image/z/6299933-5-3.jpg?t=%23define+c%E8%AF%AD%E8%A8%80%E9%A2%84%E5%A4%84%E7%90%86%E5%91%BD%E4%BB%A42%E4%BB%A5%E4%B8%8B%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%BF%90%E8%A1%8C%E7%BB%93%E6%9E%9C%E6%98%AF+.%23define+MAX%28A%2CB%29+%28A%29%3E%28B%29%3F%28A%29%3A%28B%29%23define+PRINT%28Y%29+printf%28%E2%80%9CY%3D%25d%5Ct%E2%80%9D%2CY%29main%28%29%7Bint+a%3D1%2Cb%3D2%2Cc%3D3%2Cd%3D4%2Ct%3Bt%3DMAX%28a%2Bb%2Cc%2Bd%29%3BPRINT%28t%29%3B%7DA%EF%BC%89Y%3D3+B%EF%BC%89%E5%AD%98%E5%9C%A8%E8%AF%AD%E6%B3%95%E9%94%99%E8%AF%AF+C%EF%BC%89Y%3D7+D%EF%BC%89Y%3D0%E8%AF%B7%E7%BB%99%E6%88%91%E8%A7%A3%E9%87%8A)
#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请给我解释
#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 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请给我解释
宠处理的时候,一定要记住的是,直接代进去,任何多余的动作都不能有
还有记住一点的是在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