编程输入数组时遇到的
#define _CRT_SECURE_NO_WARNINGS
#include
int main()
{
int length;
int i;
int j;
printf("请输入数组长度:%d", length);
scanf("%d", &length);
int arr[length];
for (i = 0; i <= length; i++)
{
printf("请输入第%d个数字:", j);
scanf("%d", &arr[i]);
j++;
}
printf("你输入的数组是:");
for ( i = 0; i < length; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
你这到底是c语言还是c++,为什么两个标签都贴上了
c语言和c++虽然语法上看起来很像,但是它们的语法毕竟是有区别的,不要老是混为一谈
c++是允许用变量来初始化数组长度的
而c语言不允许这样做
for (i = 0; i <= length; i++)
改为
for (i = 0; i <length; i++)
如果i=length,数组就越界了
vs是不支持变长数组的
至少两个错误
printf("请输入第%d个数字:", j); 是i不是j吧
for (i = 0; i <= length; i++) ; i < length 不是 <= 吧, 会越界
将int arr[length] 改成int[] arr还是int arr[],然后j给一个初始值0试一下