/*这是一个函数式宏,要求把type型的a,b两值互换*/ #include <stdio.h> #define swap(type, a, b) do { \ /*就是这个do...while语句不太懂*/ type t; \ /*这里为什么可以有另一个变量t,为什么要这样写啊*/ t = a; \ a = b; \ b = t; \ } while (0); int main(void) { int nx, ny; puts("please enter two integer"); printf("integer A: "); scanf("%d", &nx); printf("integer B: "); scanf("%d", &ny); printf("A: %d B: %d\n", nx, ny); swap(int, nx, ny); printf("A: %d B: %d\n", nx, ny); return 0; }
相关分类