学编程的小白


私信TA

用户名:dotcpp0669045

访问量:1620

签 名:

等  级
排  名 18982
经  验 731
参赛次数 0
文章发表 3
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:C会自动进行有符号对无符号的转化,为避免比较大小时负数转化为无符号导致比较结果出错,不妨先对有符号进行正负判断。

注意事项:尤其注意题干要求的无符号整数和有符号整数范围,此处有一个易错点,如果直接简单认为xy都为Int型数据,在无符号数据超过2的31次方-1时,代码将会出错,所以简单设int x,int y这种做法是错误的,这样会导致部分数据比较大小时结果不对,比如x=4294967242,y=-1,程序会输出<。


参考代码:

#include <stdio.h>


unsigned int x;

int y;


int main() {


scanf("%u %d", &x, &y);


if (y < 0 || x > y)

printf(">") ;

else if (x < y)

printf("<") ;

else if (x == y)

printf("=");

return 0;

}


 

0.0分

5 人评分

  评论区

  • «
  • »