读书人

C排序有关问题的系统报错(非C本身报错

发布时间: 2012-09-29 10:30:01 作者: rapoo

C排序问题的系统报错(非C本身报错)
#include<stdio.h>
#define TOTAL 10
int firstmin(int[],int);
int main()
{
int i,j,nums;
/*int num[TOTAL]={22,5,67,98,45,32,101,99,73,10};*/
int num[TOTAL];
for(i=0;i<TOTAL;i++)
{
printf("please input the number");
scanf("%d",num[i]);
}
nums=firstmin(num,TOTAL);
for(j=0;j<TOTAL;j++)
printf("%d ",num[j]);
return 0;
}
int firstmin(int num[], int nume1)
{
int min,i,j,temp,numidx;
int nums=0;
for(i=0;i<nume1-1;i++)
{
min=num[i];
numidx=i;
for(j=i+1;j<nume1;j++)
{
if (num[j]<min)
{
min=num[j];
numidx=j;
}
}
if (min<num[i])
{
temp=num[i];
num[i]=min;
num[numidx]=temp;
nums++;
}
}
return (nums);

}


这个程序很显然了,是用输入10个数的方式排序,注释掉的那行如果替换掉下面for循环的输入,那么程序正常运行;如果按此时的程序运行,虽然可以,但是如果你试试,应该会有一个问题:输入第一个数之后,就开始系统报错,程序终止(不是C本身报错),在两台机子上实验均如此。求大侠们解释,谢谢。

[解决办法]

C/C++ code
int num[TOTAL];for(i=0;i<TOTAL;i++){printf("please input the number");scanf("%d",&num[i]);  } 

读书人网 >C语言

热点推荐