从键盘上输入三个短整型数,分别存放到a、b、c中,求这三个数中最大的无符号数和最小无符号数及其对应的输入值。
#include<stdio.h>
void main()
{
short int a,b,c;
unsigned int max,min;
scanf("%d %d %d",&a,&b,&c);
a=(unsigned int)a;
b=(unsigned int)b;
c=(unsigned int)c;
if(a>b){
max=a;
min=b;
}
else{
max=b;
min=a;
}
if(c>max){
max=c;
}
else if(c<min){
min=c;
}
printf("%u unsigned max:%u unsigned min: %u\n",a,max,min);
printf("max(input):%d min(input):%d\n",max,min);
}
输入-1 -2 5
输出
unsigned max:5 unsigned min: 4294967295
max(input):5 min(input):-1
我觉得很奇怪为什么实际上5对应的无符号数应该是最小的才对,-1才是最大的,输出出来为什么正好相反??
我觉得是不是跟我的变量定义有关?max=c,c为无符号数,max为有符号数,两者是怎么比较的啊??
慕的地8582982
八神花露水
雪颲
相关分类