首页
科技
登录
6mi
u
盘
搜
搜 索
科技
C语言宏定义易错题
C语言宏定义易错题
科技
2026-09-24
23
#include <stdio.h> #define MAX(x,y) (x)>(y)?(x):(y) void main(){ int a=5,b=2,c=3,d=3,t; t=MAX(a+b,c+d)*10; printf("%d",t); }
输出结果为7. 原因: 宏定义并非函数,只是单纯地语言替换 即 t = (a+b)>(c+d)?(a+b):(c+d)10 因此前者大则输出前者,后者大则输出后者10
转载请注明原文地址:https://blackberry.8miu.com/read-47323.html
最新回复
(
0
)