读书人

C程序调试有关问题

发布时间: 2013-11-09 17:06:41 作者: rapoo

C程序调试问题


#include<stdio.h>
#define SIZE 100

int main(){
int a[SIZE],i,j,n,tmp,k;
printf("plesae enter the count of the array:");
scanf("%d",&n);
printf("Please enter %d elements \n",n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}

printf("enter completed\n");

for(i=0;i<n-1;i++){
k=i;
for(j=i+1;i<=n-1;j++){
if(a[j]<a[k])
{
k=j;
}
}
if(k!=i){
tmp=a[i];
a[i]=a[k];
a[k]=tmp;
}
}

for(i=0;i<n;i++){
printf("%6d",a[i]);

}
return 0;
}


一段进行数组排序的程序,但是运行到 printf("enter completed\n"); 就死了,请大家帮忙看下
[解决办法]

#include<stdio.h>
#define SIZE 100

int main(){
int a[SIZE],i,j,n,tmp,k;
printf("plesae enter the count of the array:");
scanf("%d",&n);
printf("Please enter %d elements \n",n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}

printf("enter completed\n");

for(i=0;i<n-1;i++){
k=i;
//for(j=i+1;i<=n-1;j++){
//问题就在这了,你把j的循环结束条件写成“i<=n-1”了
for(j=i+1;j<=n-1;j++){
if(a[j]<a[k])
{
k=j;
}
}
if(k!=i){
tmp=a[i];
a[i]=a[k];
a[k]=tmp;
}
}

for(i=0;i<n;i++){
printf("%6d",a[i]);

}
return 0;
}

读书人网 >C语言

热点推荐