这个问题让我想起了之前做的一个题,先说说你提出的问题把
虽然你定义了a为无符号类型,却给a赋值了-5
而你在输出函数中对应a的转换说明符是%d,意为把输出解释成一个有符号十进制整数
故而你的输出值还是-5
至于改写成%u后,运行的结果不是随机数
无符号类型在我的电脑上的取值范围是0~4294967295,数值-5超出取值范围
数据如果超出了整型数据表示范围,则用比当前数据类型大的最小数据类型来表示
就相当于 输出 4294967295-5,得到值为 429496721
留个思考题,要求输入一个ASCII码值(如66),然后输出相应的字符
|