| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 580 人关注过本帖
标题:程序编译正确,总是执行出错是什么原因
只看楼主 加入收藏
zhanlantian
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-2-10
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
程序编译正确,总是执行出错是什么原因
编译都是正确的,但是执行时就回弹出对话框说程序出错,要关闭程序是什么原因,请高人指教!
#include   <stdio.h>
#include   <stdlib.h>
#include   <math.h>
void main()
{
    float   a[490][1200],b[1200000];  
    int   i=0;
    int   j=0;
    FILE   *fp,*fp1,*fp2;
  //打开原数据文件  写成剔除乱码后文件  数组文件
    if (   (fp=fopen( "f:\\chuli\\0.2 0.2.txt ", "r"))==NULL)
    {
        printf( "file not open!\n ");
        exit(0);
    }
    if ( (fp1=fopen("f:\\chuli\\0.2 0.2  1.txt", "w"))==NULL)
    {
        printf("file not open!\n");
        exit(0);
    }
        if ((fp2=fopen("f:\\chuli\\0.2 0.2  2.txt", "w"))==NULL)
    {
        printf("file not open!\n");
        exit(0);
    }
   //仅保留一个乱码
        for (i=0;;i++)
    {
        if ((fscanf(fp,"%f",&b[i])!=EOF)&&(fscanf(fp,"%f",&b[i])!=-999.999)&&(fscanf(fp,"%f",&b[i])!=999.999))      fprintf(fp1,"%f/n",b[i]);
        else if ((fscanf(fp,"%f",&b[i])==-999.999)||(fscanf(fp,"%f",&b[i])==999.999))   
        {
          fprintf(fp1,"%f/n",&b[i]);
          do
          {
           i++;
          }
          while ((fscanf(fp,"%f",&b[i])==-999.999)||(fscanf(fp,"%f",&b[i])==999.999));
         i--;
         }
        else if (fscanf(fp,"%f",&b[i])==EOF)  break;
    }
  //写成二维数组文件
        for   (i=0; i<490; i++)
    {
        for   (j=0; j<1200; j++)
        {
         if((fscanf(fp1,"%f",&a[i][j])!=EOF)&&(fscanf(fp1,"%f",&a[i][j])!=-999.999)&&(fscanf(fp1,"%f",&a[i][j])!=999.999))  fprintf(fp2,"%f  ",a[i][j]);  
         else if ((fscanf(fp1,"%f",&a[i][j])==-999.999)||(fscanf(fp1,"%f",&a[i][j])==999.999))    //每一行的最后一列数字均为乱码
         {
         fprintf(fp2,"/n");
         break;
         }
        }
     //  printf( "\n");
    }
    fcloseall();
}
搜索更多相关主题的帖子: 原因 void include 对话框 
2012-02-10 13:39
xingzhian
Rank: 2
等 级:论坛游民
帖 子:14
专家分:54
注 册:2011-3-22
收藏
得分:10 
这个很重要:  float   a[490][1200],b[1200000];  
如果编译器没有重新指定,线程不可以分配这么大的栈(stack)空间,如VC++ 6.0默认只分配1M的栈。
2012-02-10 13:52
bardon_2009
Rank: 2
等 级:论坛游民
帖 子:23
专家分:28
注 册:2012-1-14
收藏
得分:10 
跟着学习实践知识。
2012-02-10 15:42
快速回复:程序编译正确,总是执行出错是什么原因
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038692 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved