1.宏定义:
#define gys1(a,b) b ? gys_max(b, a % b) : a
2.构造函数:
int gys2(int a, int b) {
return b ? gys_max(b, a % b) : a;
}
3.完整函数:
int gys3(int a, int b) {
int x;
if (b == 0) return a;
else {
x = a % b;
}
return gyshu(b, x);
}
示例测试:
#include <stdio.h> #define gyueshu(a,b) b ? gys_max(b, a % b) : a int gys_max(int a, int b) { return b ? gys_max(b, a % b) : a; } int gyshu(int a, int b) { int x; if (b == 0) return a; else { x = a % b; } return gyshu(b, x); } int main(int argc, char* argv[]) { printf("%d\n", gys1(50, 2020)); printf("%d\n", gys2(50, 2020)); printf("%d\n", gys3(50, 2020)); return 0; }
ps:个人经验,心得理解分享! (仅供参考)