这个是啥问题啊hxd们?

img

可能是int a[j]的问题,你把j换成一个常数试试,有的编译器不支持这样声明数组的

你这个环境不支持用变量作为数组长度,把
int a[j]; 改成 int* a= (int*)malloc(sizeof(int)*j); 并且加上头文件#include <stdlib.h>

修改如下,供参考:

#include<stdio.h>
#define N 20       //定义常量 N=20
int main()
{
    int i,j,k,n;
    printf("键入数组内数据个数:");
    scanf("%d",&j);;
    printf("j = %d\n",j);
    int a[N];      //数组定义应该为常量大小
    for(i=0;i<j;i++)
        scanf("%d",&a[i]);
    n=0;           //修改
    for(i=1;i<j;i++)     //修改
    {
        if(a[i]<a[n])
           n=i;
    }
    printf("最小值:%d\n",a[n]);
    printf("最小值下标:%d\n",n);
    return 0;
}

int a[j]
还能这样???数组长度必须是常量啊