gpt4 book ai didi

C - 使用 char 指针打印 int 值,未得到预期结果

转载 作者:行者123 更新时间:2023-11-30 17:07:28 25 4
gpt4 key购买 nike

我试图理解指针是如何工作的。我创建了一个 int 值,并创建了一个 char 指针来指向它。

打印char指针指向的地址内容时,没有得到预期的结果。

就像如果那个char指针指向256,我期望该地址的内容返回0,因为( 256)10 = (0000000100000000)2。因为 char 指针指向一个字节,所以它将返回前 8 位为零。

但它返回-1

这是我的代码

#include <stdio.h>

int main()
{
int y = 256;
char *p = (char *)&y;

// returns Value -1
printf("Value %d \n", *p);

return 0;
}

最佳答案

But why 255 still gives me -1 ? Even though i'm printing y

y为255时获取Value -1 255是有意义的。 p 指向一个类似于二进制的 11111111 的字节,*p 是一个有符号字符,%d打印一个有符号的值,所以这就是它打印-1的原因。 – dbus

关于C - 使用 char 指针打印 int 值,未得到预期结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34050600/

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