我正在学习C中的指针,我在GCC编译器中尝试了这个程序
当我尝试p-q
时,它给出1作为输出(因为int占用4个字节,p和q的值分别为2358844和2358840,因此1作为输出,因为1 * 4 = {{1}之后的4个字节提供4)。
但是一旦我尝试p-q
,它就会给出4294967295作为输出。它应该给-1作为输出,但我无法理解它为什么给出其他输出。
这是我的计划。
q-p
答案 0 :(得分:3)
4294967295是FFFFFFFF或-1是有符号值。您使用%u
将其打印为未签名