直接上代码
#include<stdio.h>
int main()
{
int a, b;
int min;
scanf_s("%d %d", &a, &b);
if (a < b) {
min = a;
}
else
{
min = b;
}
int ret = 0;
int i;
for (i = 1; i < min; i++); {
if (a % i == 0) {
if (b % i == 0) {
ret = i;
}
}
}
printf("%d和%d的最大公约数是%d.\n", a, b, ret);
return 0;
}
运行结果如下
他就莫名其妙出了一个0,调试过后发现运行时到第二个if那里直接跳出循环,直接到printf那里。就感觉很离谱,我也看不出来是哪里的问题,代码我是在网课上发现的,我自己按着写就出了问题。