为什么c的程序运算结果不对?

#include <stdio.h>
int main()
{
    int a,b,c;
    printf("请输入3个整数:");
    scanf("%d %d &d",&a,&b,&c);
    
    int max=0;
    if(a>b){
        if(a>c){
        printf("3个数中最大的是%d",max=a);    
        }else{
        printf("3个数中最大的是%d",max=c);    
        }
    } else{
        if(b>c){
        printf("3个数中最大的是%d",max=b);    
        }else{
        printf("3个数中最大的是%d",max=c);        
        }
    }
    
    return 0;
}

img


这三个%d中间不要加空格,还有是%d 不是&d啊,看清楚啊

scanf("%d %d &d",&a,&b,&c);

改为
scanf("%d %d %d",&a,&b,&c);

你的代码,scanf函数中,第3个参数的格式字符串错误,应该是%d而不是&d。

#include <stdio.h>
int main()
{
    int a, b, c;
    printf("请输入3个整数:");
    scanf("%d %d %d", &a, &b, &c);

    int max = 0;
    if (a > b) {
        if (a > c) {
            printf("3个数中最大的是%d", max = a);
        }
        else {
            printf("3个数中最大的是%d", max = c);
        }
    }
    else {
        if (b > c) {
            printf("3个数中最大的是%d", max = b);
        }
        else {
            printf("3个数中最大的是%d", max = c);
        }
    }

    return 0;
}