回 帖 发 新 帖 刷新版面

主题:[讨论]好不容易通过调试,运行时又跳出“oxxxxx...““不能read“,高手请指点

#include"stdio.h"
#include"string.h"
#include"stdlib.h"
char xx[20][10];
void readdat();
void writedat();

void jssort()
{
     int i,j,k;
     int str,half;
     char temp;

    for(i=0;i<20;i++)
       {
           str=strlen(xx[i]);
           half=str/2;
           for(j=0;j<half-1;j++)
              for(k=j+1;k<half;k++)
                   if(xx[i][j]>xx[i][k])
                   {
                         temp=xx[i][j];
                         xx[i][j]=xx[i][k];
                         xx[i][k]=temp;
                   }
              for(j=half-1,k=str-1;j>=0;j--,k--)
              {
                temp=xx[i][j]  ;
                 xx[i][j]=xx[i][k];
                 xx[i][k]=temp;
              }
       }
}

 void main()
 {
    readdat();
    jssort();
    writedat();
 }
 void readdat()
 {
    FILE *in;
    int i=0;
    char *p;
    in =fopen("IN76.dat","r");
    while(i<20&&fgets(xx[i],8,in)!=NULL)
    {
        p=strchr(xx[i],'\n');
        if(p) *p=0;
        i++;
    }
    fclose(in);
 }
 void writedat()
 {
    FILE *out;
    int i;
    system("CLS");
    out=fopen("out76.dat","w");
    for(i=0;i<20;i++)
    {
        printf("%s\n",xx[i]);
        fprintf(out,"%s\n",xx[i]);
    }
    fclose(out);
 }

回复列表 (共4个回复)

沙发

 LZ在IN76.dat中写东西了没??

我调试的没错!

[code=c]if(p) 
//if(p == NULL)
[/code]

板凳


有一种可能就是:程序的源代码是没有问题的,只是程序最后形成的.dsp or .dsw文件有问题(以Fortran为例)。用这些源代码问题件重新生成.DSP or DSW 文件应该就可以了。

3 楼

在jssort函数的for循环前加上memset将二维数组初始化就可以了。否则会出问题。

void jssort()
{
     int i,j,k;
     int str,half;
     char temp;
    memset(xx,sizeof xx,0);
    for(i=0;i<20;i++)
       {

4 楼

寻找中国的最优秀的网商领袖精英  
当今世界正经历着全球经济一体化的大潮,中国本土企业也因此面临着前所未有的机遇与挑战。
在这场洗礼中,哪些互联网平台有能力成为世界级的电子商务平台?网商精英要怎样做,才能最终成长为世界级网商精英领袖?
淘宝商盟平台震撼登场,携手淘宝30万商家联盟购物商城。
平台刚刚启动,互联网的网商精英请咨询qq: 908889846 
占领市场第一先机,合力打造网商系统!
淘宝商盟官网   www.taobaosm.com
 http://blog.sina.com.cn/tbsm8
淘宝商盟奖励制度

我来回复

您尚未登录,请登录后再回复。点此登录或注册