gpt4 book ai didi

c - 无法理解数组的行为

转载 作者:太空狗 更新时间:2023-10-29 15:45:02 25 4
gpt4 key购买 nike

我有以下代码:

 #include<stdio.h>
void func(int [][3]);

int main(){
int a[][3] = {{1,2,3}, {4,5,6}, {7,8,9}};
func(a);
printf("%d", a[2][1]);
}

void func(int b[][3]){
++b;
b[1][1] = 17;
}

问题:
我希望 printf 语句打印 8 但实际打印 17。
我不明白为什么?

谢谢

最佳答案

注意func()中的++b,在此之后,b(原本指向a[0][0 ]),现在指向a[1][0],所以下面的

b[1][1] = 17;

在外部修改 a[2][1]

关于c - 无法理解数组的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27075041/

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