gpt4 book ai didi

c - 这段代码有什么问题,我不能将指针和无符号值加在一起吗?

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

测试平台为Linux 32位。

我在代码中发现了一个错误,但我不知道为什么......

我简化了这段代码并将其放在这里:

unsigned int aa  = 0;
unsigned int array[10000];
unsigned int* ptr = array + 2000;

printf("aa: %d ", aa); // value 1
printf("ptr: %d \n", ptr); //value 2
printf("aa+ptr: %d \n", aa + ptr); // value 3

编译器是gcc版本4.6.3

看起来很傻,但是我不明白为什么 value3 != value1 + value2

有人可以给我一些帮助吗?

谢谢!

最佳答案

在第二种和第三种情况下,您将传递一个指向 printf 的指针,但使用 %d 作为格式化程序。你需要%p。

整数和指针不可互换。

关于c - 这段代码有什么问题,我不能将指针和无符号值加在一起吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21418070/

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