嗨, friend 们,我是 C 语言的新手,正在努力理解它。
我有这两个 char 数组,一个是初始化的,另一个是刚刚声明的,我只是想将元素从数组状态复制到 arr 并打印它。它编译,但打印出一个垃圾值....
请帮帮我
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int i = 0;
char *arr[3];
char *state[3] = {"California", "Oregon", "Washington", "Texas"};
for(i=0; i<3; i++)
{
arr[i] = state[i];
printf("%s\n",arr+i);
}
arr[0] = state[0];
printf("%s\n",arr[0]);
system("pause");
return 0;
}
最佳答案
打印 arr+i
可能不是您想要的。相反,您需要 arr[i]
,这是一个更深的间接级别。
具体来说,a[b]
与*(a+b)
完全相同。
关于c - 尝试使用指针将数组元素从一个数组传递到另一个数组......没有得到?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15656924/