📄 gcd1.c
字号:
#include <stdlib.h>#include <stdio.h>int depth;intgcd(int x, int y) { int r; ++depth; if (x < y) { printf("%*sswap...\n", depth, ""); r = gcd(y, x); printf("%*sreturning %d\n", depth, "", r); --depth; return r; } else if ((x % y) != 0) { printf("%*sremainder %d, calling gcd(%d, %d)\n", depth, "", x % y, y, x % y); r = gcd(y, x % y); printf("%*sreturning %d\n", depth, "", r); --depth; return r; } else { printf("%*sremainder 0, returning %d\n", depth, "", y); --depth; return y; }}intmain(void) { int i, j; printf("two numbers? "); fflush(stdout); if (scanf("%d %d", &i, &j) == 2) { printf("calling gcd(%d, %d):\n", i, j); gcd(i, j); } else if (feof(stdin)) { printf("\nbye-bye!\n"); return 0; } else { printf("\ninput confusing. giving up.\n"); return 1; } return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -