#include <stdio.h>
#include <stdlib.h>
void add(int *arr, int n);
int main() {
int arr[] = {};
add(arr, 4);
return 0;
}
void add(int *arr, int n){
for (int i = 0; i < n; i++){
printf("%d index is : ", i);
scanf("%dn", &arr[i+1]);
}
}
for循环在I == 1之后不起作用…执行停止,然后我必须按下某个字母,然后执行整个for循环,不带任何值…
C和c++中的声明
int arr[] = {};
是无效的。初始化列表不能为空。
可以写成C
int arr[4] = { 0 };
或
int arr[] = { [3] = 0 };
在函数内而不是
scanf("%dn", &arr[i+1]);
^^^
你必须写
scanf("%d", &arr[i]);
^^^
否则将访问数组外的内存。