C语言 a=-15; printf("%u,%10u"); 结果是4294967281,4294967281 为什么? 不是15吗?

日期:2021-07-25 09:05:32 人气:1

C语言 a=-15; printf("%u,%10u"); 结果是4294967281,4294967281 为什么? 不是15吗?

为什么不是15,因为u是无符号整型,a是-15,有符号,这里涉及的是内存存储问题,不是单单的把负号去掉的问题
10忽略,因为10在这里是要求左对齐输出10位数,不够的用空格补齐,你输出的这些数字正好十位,所以有没有是一样的结果
    A+
热门评论