C语言 文件 将一个txt文本里的数排序再输出到另一个文本里

#include"stdio.h"
#include"stdlib.h"
main()
{
FILE *p1,*p2;
int a[10],i,j,temp;
if((p1=fopen("E:\\in.txt","r"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
if((p2=fopen("E:\\out.txt","w"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
for(i=0;i<10;i++)
fscanf(p1,"%d",&a[i]);
for(i=0;i<10;i++)
{
for(j=0;j<10-i;j++)
if(a[j]>a[j+1])
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
for(i=0;i<10;i++)
fprintf(p2,"%d",a[i]);
}
运行的时候说Debug Assertion Failed怎么回事?

第1个回答  推荐于2016-07-31
for(i=0;i<10;i++)
{
for(j=0;j<10-i;j++)
if(a[j]>a[j+1])
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
我的运行时没问题,不过这个地方缺少了个大括号,结果会有问题本回答被提问者采纳
第2个回答  2012-12-25
这是指针出了问题,可能指向了一个不存在的引用
相似回答