Wrannert 2022-03-28 21:09 采纳率: 90%
浏览 20
已结题

我在编写一个寻找最大公约数的程序,运行过程中循环出了问题

直接上代码

#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;
}

运行结果如下

img


他就莫名其妙出了一个0,调试过后发现运行时到第二个if那里直接跳出循环,直接到printf那里。就感觉很离谱,我也看不出来是哪里的问题,代码我是在网课上发现的,我自己按着写就出了问题。

  • 写回答

1条回答 默认 最新

  • Gacy- 2022-03-28 21:42
    关注

    for循环后面多了分号,去掉

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月6日
  • 已采纳回答 3月29日
  • 创建了问题 3月28日

悬赏问题

  • ¥15 openwrt双栈NAT
  • ¥15 部分网页页面无法显示!
  • ¥15 怎样解决power bi 中设置管理聚合,详细信息表和详细信息列显示灰色,而不能选择相应的内容呢?
  • ¥15 QTOF MSE数据分析
  • ¥15 平板录音机录音问题解决
  • ¥15 请问维特智能的安卓APP在手机上存储传感器数据后,如何找到它的存储路径?
  • ¥15 (SQL语句|查询结果翻了4倍)
  • ¥15 Odoo17操作下面代码的模块时出现没有'读取'来访问
  • ¥50 .net core 并发调用接口问题
  • ¥15 网上各种方法试过了,pip还是无法使用