7.1.5 读/写整数

一、int变量发生了溢出怎么办?

二、读写无符号整数时,u、o、x分别是什么形式?

三、读写短、长、长长整数时应该怎么写?

假设有一个程序因为其中一个int变量发生了溢出,我们的第一反应是把变量类型从int变为long int。但是这样做不够的,我们还必须检查数据类型的改变对程序其他部分的影响,尤其是需要检查变量是否用在printf函数或scanf函数的调用中。如果用了,需要改变调用中的格式串,因为%d只适用于int类型。

读写无符号整数短整数长整数需要一些新的转换说明符。

读写无符号整数时,使用字母u、o或x代替转换说明中的d。u说明符,该数将以十进制形式读写,o表示八进制形式,而x表示十六进制形式。

读写短整数时, 在d、o、u或x前面加上字母h:

short s;

scanf("%hd", &s);

printf("%hd", s);

读写长整数时, 在d、o、u或x前面加上字母l:

long l;

scanf("%ld", &l);

pritnf("%ld", l);

 

读写长长整数时(仅限C99),在d、o、u或x前面加上字母ll

long long ll;

sacnf("%lld", &ll);

printf("%lld", ll);

%d只适用于int类型 而 unsidgned int无符号整数则是 %u

读写无符号整数时,u代替d 成为十进制形式 o表示八进制  x表示十六进制。

短整数 在 d、o、u、x 前加h , 长整数加l , 长长整数加ll 。

posted @ 2021-04-08 19:02  Sai佐为  阅读(165)  评论(0)    收藏  举报