gpt4 book ai didi

C程序数组位置

转载 作者:太空宇宙 更新时间:2023-11-04 02:57:42 25 4
gpt4 key购买 nike

为什么下面的 C 程序返回 (a+4) 的 4 和 (a+1) 的 1 的减法?

     #include<stdio.h>
int main()
{

int a[3][2]={1,2,
5,7,
6,8};

printf("\n%d",(a+4)-(a+1));
return 0;}

另外,当我用加法 (a+4)+(a+1) 代替减法运算符时,它给出

error: invalid operands to binary + (have ‘int (*)[2]’ and ‘int (*)[2]’)

最佳答案

请注意,a 是一个数组,当单独使用时会退化为指针(即内存地址)。这意味着 (a+4)(a+1) 也是内存地址。减去内存地址是有意义的,因为您正在计算两个地址之间的距离。然而,添加内存地址是无稽之谈。

我不确定你想在这里做什么,所以我无法建议解决问题的方法。请随时使用更多详细信息编辑您的问题,以便我们进一步帮助您。

关于C程序数组位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15484478/

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