胡饶敢 发表于 2020-11-19 15:20:45

求最大值错误

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

int main()
{
        int a={10,30,8,6,20};
        int b=a;
        int i;
        for( i=1;i<5;i++);
        {
                if(b<a)
                {
                        b=a;
                }
       
        }
        printf("%d\n",b);
        return 0;
        }

jackz007 发表于 2020-11-19 15:31:13

本帖最后由 jackz007 于 2020-11-19 15:32 编辑

for( i=1;i<5;i++);
改为
for( i=0;i<5;i++)

sunrise085 发表于 2020-11-19 15:31:41

本帖最后由 sunrise085 于 2020-11-19 15:33 编辑

for循环的条件那一行末尾多了一个分号
导致for空循环,循环结束后,i为5,而数组a没有a,所以a是一个不确定的值,就有可能会出现a是很大的值,然后赋值给了b

a327190489 发表于 2020-11-19 16:00:09

#include <stdio.h>

int main()
{
      int a={10,30,8,6,20};
      int b=a;
      int i;
      for( i=1;i<5;i++)
      {
                if(b<a)
                {
                        b=a;
                }
      
      }
      printf("%d\n",b);
      return 0;
      }

胡饶敢 发表于 2020-11-20 08:24:11

谢谢各位大佬
页: [1]
查看完整版本: 求最大值错误