gpt4 book ai didi

c - 无法理解 C 语言的输出

转载 作者:行者123 更新时间:2023-11-30 18:35:05 25 4
gpt4 key购买 nike

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

这是我的程序。

#include<stdio.h>
#include<conio.h>
void main()
{
int a=5,b=6;
int *p,*q;
p=&a;
q=&b;
printf("p = %u",p);
printf("\nq = %u",q);
printf("\nq-p = %u",q-p);
getch();
}

最佳答案

4294967295 是 FFFFFFFF 或 -1 作为有符号值。您将其打印为未签名的 %u

关于c - 无法理解 C 语言的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48324374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com