用C语言答题时的疑问

再解一个问题时,按照题目要求可以正确输出输入,但提交时任然显示错误。

#include 
#include 
int main()
{
    int n,max,i,tem;
    scanf("%d",&n);
    for(i=0;iscanf("%d",&tem);
        if(max==0||tem>max)
        max=tem;
        
    }
    if(max==tem) printf("Yes");
    else if(max!=tem) printf("No");
    return 0;
}

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/626072798566169.png "#left")
求解答。

max赋初值0试试

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int n,max=0,i,tem;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        
        scanf("%d",&tem);
        if(max==0||tem>max)
        max=tem;
        
    }
    if(max==tem) printf("Yes");
    else if(max!=tem) printf("No");
    return 0;
}

 

第5行max初始化为0

max要给初始值,不给的话可能是随机数,有可能导致 if(max==0||tem>max)不成立,赋值就会有问题

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int n,max=0,i,tem ;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        
        scanf("%d",&tem);
        if(max==0||tem>max)
        max=tem;
        
    }
    if(max==tem) printf("Yes");
    else if(max!=tem) printf("No");
    return 0;
}