无法理解C

时间:2018-01-18 15:07:11

标签: c pointers

我正在学习C中的指针,我在GCC编译器中尝试了这个程序 当我尝试p-q时,它给出1作为输出(因为int占用4个字节,p和q的值分别为2358844和2358840,因此1作为输出,因为1 * 4 = {{1}之后的4个字节提供4)。
但是一旦我尝试p-q,它就会给出4294967295作为输出。它应该给-1作为输出,但我无法理解它为什么给出其他输出。

这是我的计划。

q-p

1 个答案:

答案 0 :(得分:3)

4294967295是FFFFFFFF或-1是有符号值。您使用%u

将其打印为未签名