可能是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]
还能这样???数组长度必须是常量啊