但是如果我用num=123456789*100后,printf输出会出现-15472542这类的数怎么办?
追答这样就溢出了,不能用整型数据来表示了。
整型数最多表示10位以内的数据 有符号数2^31-1
换成double就好了,方法如下:
double num=123456789 ;
printf("%012.0f", num * 100 ); //总输出长度为12个字符,不足位,前补0
输出
012345678900
但double也不能超过16位数据,否则,也会出现错误
但是如果我用num=123456789*100后,printf输出会出现-15472542这类的数怎么办?
追答int 溢出了,可以换成 double
printf("%lf\n", num);
但是最大只能输出xxxxxxxxx899.9999999