鱼C论坛

 找回密码
 立即注册
查看: 958|回复: 4

[已解决]求最大值错误

[复制链接]
发表于 2020-11-19 15:20:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
各位大佬,为什么我这个程序无法正常执行,执行后显示1703808?
#include <stdio.h>

int main()
{
        int a[5]={10,30,8,6,20};
        int b=a[0];
        int i;
        for( i=1;i<5;i++);
        {
                if(b<a[i])
                {
                        b=a[i];
                }
       
        }
        printf("%d\n",b);
        return 0;
        }
最佳答案
2020-11-19 15:31:13
本帖最后由 jackz007 于 2020-11-19 15:32 编辑

for( i=1;i<5;i++);
改为
for( i=0;i<5;i++)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-11-19 15:31:13 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2020-11-19 15:32 编辑

for( i=1;i<5;i++);
改为
for( i=0;i<5;i++)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-19 15:31:41 | 显示全部楼层
本帖最后由 sunrise085 于 2020-11-19 15:33 编辑

for循环的条件那一行末尾多了一个分号
导致for空循环,循环结束后,i为5,而数组a没有a[5],所以a[5]是一个不确定的值,就有可能会出现a[5]是很大的值,然后赋值给了b
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-19 16:00:09 | 显示全部楼层
  1. #include <stdio.h>

  2. int main()
  3. {
  4.         int a[5]={10,30,8,6,20};
  5.         int b=a[0];
  6.         int i;
  7.         for( i=1;i<5;i++)
  8.         {
  9.                 if(b<a[i])
  10.                 {
  11.                         b=a[i];
  12.                 }
  13.         
  14.         }
  15.         printf("%d\n",b);
  16.         return 0;
  17.         }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-20 08:24:11 | 显示全部楼层
谢谢各位大佬
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-9 06:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表