Sy_Faker
2019-10-24 20:49
采纳率: 77.3%
浏览 563

输入10个数后输出最大值,无论输入什么输出都是1

做题时敲的代码:

#include<stdio.h>
int main()
{
    int num[10],i,max=num[0];
    for(i=0;i<10;i++)   
        scanf("%d",&num[i]);
    for(i=0;i<10;i++);
        max=num[i]>max? num[i]:max;
    printf("Max=%d",max);
    return 0;
}

初衷是用数组放置10个数后通过比较找出最大值后输出,但结果一直是1
图片说明
求解答。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • ybswyb 2019-10-24 21:31
    已采纳
    for(i=0;i<10;i++);     <-多了个分号吧
        max=num[i]>max? num[i]:max;
        而且像这样的定义 int num[10],i,max=num[0]; 也不太规范,num都没有初始化
    
    打赏 评论
  • 机灵鹤 2019-10-24 21:24
    for(i=0;i<10;i++);
            max=num[i]>max? num[i]:max;
    

    仔细看这个 for 循环,
    for(i=0;i<10;i++) 后面多了一个分号

    3 打赏 评论

相关推荐 更多相似问题