Онлайн компилятор C

#include <stdio.h> int main() { { int a, b, temp; scanf("%d %d", &a, &b); while (b != 0) { temp = a % b; a = b; b = temp; } printf("%d", a); return 0; }
这段代码实现了用辗转相除法(欧几里得算法)计算两个整数的最大公约数。它从输入读取两个数,然后通过循环不断用余数替换除数,直到余数为零,最后输出最大公约数。

- 代码中有一个多余的额外花括号 `{` 在 `main` 函数开头,这会导致编译错误。检查一下 `main` 函数的花括号是否成对匹配。
- 注意 `return 0;` 的位置,它被放在了内部花括号里,这可能导致程序提前结束或逻辑混乱。思考一下 `return` 语句应该放在哪里。