一、C语言参数传递是整体带入
#include <stdio.h>
#define DF(a,b) (a+2*b)
int main()
{
int s=5;
int k= DF((s+1),(s-3));
printf("%d",k);
}
输出结果
原因:
#define DF(a,b) (a+2*b)
int k= DF((s+1),(s-3));
//等效
int k= DF((s+1)+2 * (s-3));
// 所以 K = 6+2*2 = 10
#include <stdio.h>
#define DF(a,b) (a+2*b)
int main()
{
int s=5;
int k= DF(s+1,s-3);
printf("%d",k);
}
输出结果
因为C语言参数传递是整体传递,所以
#define DF(a,b) (a+2*b)
int k= DF(s+1,s-3);
//等效
int k= DF(s + 1 + 2 * s - 3);
// 所以 K = 6+10-3 = 13