You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言循环中返回值无法覆盖,如何实现返回0的预期?

解决C语言循环中无法触发i=5时返回0的问题

你的代码核心问题是循环仅执行第一次迭代就直接退出了:当i=2时,5%2≠0,触发else分支里的return 1,程序直接终止,根本没机会进入后续循环到i=5。

要实现你返回0的需求,只需要调整逻辑:仅在找到能整除5的i时立即返回0,不满足条件时继续循环;如果循环走完所有i都没找到,再返回1。修改后的代码如下:

#include<stdio.h>

int main(){
    int i;

    for(i=2;i<=5;i++){
        if(5%i==0){
            return 0; // 找到符合条件的i,直接返回0
        }
        // 不满足条件时,继续下一次循环,不要提前返回
    }
    // 循环结束仍未找到符合条件的i,返回1
    return 1;
}

这段代码会正常遍历i=2到i=5,当i=5时,5%5==0,触发return 0,完全符合你的预期。

内容的提问来源于stack exchange,提问作者Nom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 19:30:12