Honeypot2020 2021-05-13 22:54 采纳率: 72.7%
浏览 35
已采纳

用带参数的宏编写程序,三个数找最大数,运行判断有问题不解

#include<stdio.h>
#define MAX(a,b) (a>b?a:b)
int main(void)
{
    int a,b,c;
    printf("输入三个数:\n");
    scanf("%d\n%d\n%d\n",&a,&b,&c);
    int temp;
    temp=MAX(MAX(a,b),c);
    printf("最大数是%d\n",temp);
}

  • 写回答

1条回答 默认 最新

  • benbenli 2021-05-13 23:18
    关注

    scanf("%d\n%d\n%d\n",&a,&b,&c);里的\n要求多输入回车,一共需要输入5行。所以去掉\n

     

    #define MAX(a,b) (a>b?a:b)
    int main(void)
    {
        int a,b,c;
        printf("输入三个数:\n");
        scanf("%d %d %d",&a,&b,&c);
        int temp;
        temp=MAX(MAX(a,b),c);
        printf("最大数是%d\n",temp);
    }
    
    // Output
                                                                                                                                                                                   
    输入三个数:    
    1                                                                                                                                                                                  
    2                                                                                                                                                                                  
    3                                                                                                                                                                       
    最大数是3  
    
    
    输入三个数:    
    1 2 3                                                                                                                                                                       
    最大数是3  
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?