gpt4 book ai didi

c - 数组作为数组和指针 C 传递

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

为什么这个程序输出pq?将数组作为指针传递或作为数组传递有什么区别。

 #include<stdio.h>

void fun(char i[]){
printf("%c,%c", i[1],i[2]);
}
void fun2(char *i){
printf("\n%c,%c", i,i+1);
}
int main(){
char ar[] = {"Aba"};
fun(ar);
fun2(ar);
return 0;
}

输出:

  b,a
p,q

最佳答案

您正在打印第二个函数中指针地址的 ASCII 转换。您必须通过 *i*(i+1) 取消引用指针。

关于c - 数组作为数组和指针 C 传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39183542/

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