代码编译正确,运行结果不正确

#include
int main(void)
{
int a,b,max;
scanf("%d%d",&a,&b);
if(a>b);
max=a;
printf("max");
if(a<=b);
max=b;
printf("max");
return 0;
}

img

根据逻辑关系,写成下面这样就行了。

#include<stdio.h>

int main(void)
{
    int a, b, max;
    scanf("%d%d", &a, &b);
    if (a > b)
    {
        max = a;
        printf("max:%d", max);
    }
    // if (a <= b);
    else
    {
        max = b;
        printf("max:%d", max);
    }
    return 0;
}

if(a<=b);
后面的分号删掉
上面的if(a>b);也是一样

编译成功只是说你代码没有语法错误不代表你代码运行结果也会对。你这里面判断语句直接分号。那就结束了,不会有啥作用。判断语句if后面用花括号。打印也只会打印字符串max。

img

编译成功,说明没有语法错误。
但是程序是严格按照你的程序去运行的,如果出现了执行的结果与预期结果不符,就说明代码的逻辑存在问题,这个时候需要根据实际运行结果去分析哪里出现了问题。

如有用,望采纳,十分感谢。