C语言执行时的问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 19:42:08
VC++6.0环境,程序如下
#include <stdio.h>
#define MAX 200
int a[MAX], b[MAX], cnt = 0;
void jsVal()
{
int m,j,k,gg,ss,bb,qq,data;
for(m=0;m<200;m++)
{qq=a[m]/1000;
bb=(a[m]%1000)/100;
ss=(a[m]%100)/10;
gg=a[m]%10;
if(qq%2==0&&bb%2==0&&ss%2==0&&gg%2==0)
{
b[cnt]=a[m];
cnt++;
}
m++;
}
for(j=0;j<cnt-1;j++)
for(k=0;k<cnt;k++)
if(b[j]<b[k])
{
data=b[k];
b[k]=b[j];
b[j]=data;
}
}
void readDat()
{
int i;
FILE *fp;
fp = fopen("IN.DAT", "r");
for (i=0; i<MAX; i++)
fscanf(fp, "%d,", &a[i]);
fclose(fp);
}
void writeDat()
{
FILE *fp;
int i;
fp = fopen("OUT.DAT", "w");
fprintf(fp, "%d\n", cnt);
for (i=0; i<cnt; i++)
fprintf(fp, "%d\n", b[i]);
fclose(fp);
}<

明显是把在没关闭prog.c的情况下,又建了一个相同内容的prog111111.c,编译器把两个文件放在了一个工程里.

我这里gcc编译,没有问题啊

但是执行的时候会错误,原因是readDat这里对一个只读的句柄进行了写操作.

展开左边的工程 在选中prog111111.cpp文件 按delete键
再按F7键 按Ctrl+F5键 是不是能运行了