以下代码如何执行(除了第二行中的分号外,代码相同)
这段代码预计会执行并且也会执行。
#include<stdio.h>
#define SWAP(a, b) int t; t=a, a=b, b=t //note here is no semi-colon at the end
int main()
{
int a=10, b=12;
SWAP(a, b);
printf("a = %d, b = %d\n", a, b);
return 0;
}
但预计不会运行以下内容,因为SWAP(a, b)
将被替换int t; t=a, a=b, b=t;;
。所以两个分号应该会产生错误!!!
#include<stdio.h>
#define SWAP(a, b) int t; t=a, a=b, b=t; //note the semi-colon here
int main()
{
int a=10, b=12;
SWAP(a, b);
printf("a = %d, b = %d\n", a, b);
return 0;
}