【发布时间】:2021-07-02 23:05:36
【问题描述】:
在这段代码中,我希望用户在函数中输入数字,然后在 main 方法中打印数组,但是当我尝试在 main 方法中打印时,它给了我随机数。
例如: 1 2 3 给 1 3 1895586112
void arrayInput(int *arr) {
int x;
int y;
int z;
printf("enter 3 numbers =");
scanf("%d %d %d", &x,&y,&z);
arr[0]=x;
arr[1]=y;
arr[2]=z;
}
int main(int argc, char **argv){
int *arr[3];
arrayInput(&arr);
int i;
for(i=0; i<3; i++)
{
printf("%d ", arr[i]);
}
}
我想在不改变方法或参数类型的情况下改变数组值
【问题讨论】:
-
int *arr[3];->int arr[3]; -
只要注意你的编译器。您发布的代码不是有效的 C 语言,编译器也告诉了您很多。如果您是初学者并使用 gcc,请使用
-Wall -Wextra -Werror之类的内容进行编译。