#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
用scanf()读取数据时,输入的格式必须和scanf()的格式控制字符串对应,比如说:
1、scanf("%d,%d,%d",a,b,c);;因为3个%d之间有一个逗号,所以在输入时3个整数之间只能用逗号分隔,如果用其它符号分隔就会出错(比如说此时用空格、回车分隔就会出错)
2、scanf("%d%d%d",a,b,c);这个格式控制字符串就可以用空白分隔(空格,回车都可以)
#include
#include
你的输入不对
你要输入
1,2,3
因为你的scanf中是用逗号分隔的。
scanf("%d,%d,%d",a,b,c);
你的输入语句已经确定了分隔符->逗号。
谢谢大家,惭愧啊,这都没发现