题意:数字反转
思路:醉了,提交了好几次,难点不在于怎么反转,而是判断是否益处,原题中给的是int,4个字节,32位,开始不知道怎么判断。现在知道了是limits.h中的INT_MIN和INT_MAX作为int的下界和上界。
代码:
long long int s = 0; while(x!=0) { s = s * 10 + x % 10; x = x / 10; } return (s>INT_MAX || s<INT_MIN) ? 0 : s;
顺便附上对各个数据类型范围介绍:
类型名称 字节数 取值范围
signed char 1 -128~+127
short int 2 -32768~+32767
int 4 -2147438648~+2147438647
long int 4 -2147438648~+2141438647
long long long int 8 -9223372036854775808~+9223372036854775807
float 4
double 8