C语言
大佬帮忙看一下,这个程序中的数组长度不是已经去确了吗?但是输入n之后,数组长度改变了,这是为什么?谢谢了#include<stdio.h>
int main(void)
{
int i,n,iIndex,temp;
int a;
printf("enter n: ");
scanf("%d",&n);
printf("enter %d integers:\n");
for(i=0;i<n;i++)
scanf("%d",&a);
iIndex=0;
for(i=1;i<n;i++)
{
if(a<a)iIndex=i;
}
temp=a;a=a;a=temp;
for(i=0;i<n;i++)
printf("%5d",a);
printf("\n");
return 0;
} 本帖最后由 风过无痕1989 于 2020-12-23 23:14 编辑
以实际输入的为准。这就好比,我的宾馆准备了300张床位,一个团队实际来了多少人,就开多少间房。只能 少,不能多哟~~,你不能一下子来5 - 600人,我那对不起,你得另外找地方住 由用户输入n然后访问数组,n大于10就会产生越界,这个小甲鱼视频中讲过,虽然编译器不会报错,但是例如a【11】是越界访问,对应的是内存中的随机值。实际上定义的数组长度没有变,可以用sizeof(a)/sizeof(a)查看数组长度
页:
[1]