善莫大焉 2016-06-10 05:00 采纳率: 66.7%
浏览 2494
已采纳

用指针指向3个整型存储单元,输入3个整数,输出其中的最大值

#include
#include
int main()
{
int *a,*b,*c;
int max;
a=(int *)malloc(sizeof(int));
b=(int *)malloc(sizeof(int));
c=(int *)malloc(sizeof(int));
scanf("%d,%d,%d",a,b,c);
if(*a>*b) max=*a;
else max=*b;
if(max<*c) max=*c;
printf("最大值为:%d\n",max);
free(a);
free(b);
free(c);
return 0;
}
老是第一个大,比如 1 2 3max=1 2 1 3max=2

  • 写回答

6条回答 默认 最新

  • 小灸舞 2016-06-10 07:33
    关注

    用scanf()读取数据时,输入的格式必须和scanf()的格式控制字符串对应,比如说:
    1、scanf("%d,%d,%d",a,b,c);;因为3个%d之间有一个逗号,所以在输入时3个整数之间只能用逗号分隔,如果用其它符号分隔就会出错(比如说此时用空格、回车分隔就会出错)
    2、scanf("%d%d%d",a,b,c);这个格式控制字符串就可以用空白分隔(空格,回车都可以)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?