永发信息网

C语言调试出错怎么办?

答案:3  悬赏:80  手机版
解决时间 2021-05-11 20:59
  • 提问者网友:我是我
  • 2021-05-11 04:48

这是我调试出来的结果  有谁知道该怎么办啊?下面这部分是整个程序的编译  其中加粗部分是我写的

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
unsigned char xx[50][80] ;
int maxline = 0 ;
int ReadDat(void) ;
void WriteDat(void) ;
void encryptChar()
{
 int i,j;
 int str;
 char ch;
 for(i=0;i<maxline;i++)
 {
  str=strlen(xx[i]);
  for(j=0;j<str;j++)
  {
   ch=xx[i][j]*11%256;
   if(ch<=32||(ch>='0'&&ch<='9'))
    continue;
   else
    xx[i][j]=ch;
  }
 }
}

 

void main()
{
  system("CLS");
  if(ReadDat())
    {
      printf("数据文件ENG.IN不能打开!\n\007") ;
      return ;
    }
  encryptChar() ;
  WriteDat() ;
}
int ReadDat(void)
{
  FILE *fp;
  int i=0 ;
  unsigned char *p ;
  if((fp = fopen("ENG.IN", "r")) ==NULL)
     return 1 ;
  while(fgets(xx[i], 80, fp) !=NULL)
     {
       p = strchr(xx[i], '\n ') ;
       if(p)
            *p = 0;
       i++ ;
     }
  maxline = i ;
  fclose(fp) ;
  return 0 ;
}
void WriteDat(void)
{
  FILE *fp ;
  int i ;
  fp = fopen("PS.DAT", "w") ;
  for(i = 0 ; i < maxline ; i++)
    {
      printf("%s\n", xx[i]) ;
      fprintf(fp, "%s\n", xx[i]) ;
    }
  fclose(fp) ;
}

最佳答案
  • 五星知识达人网友:冷風如刀
  • 2021-05-11 05:07
有什么问题,貌似挺正常的啊?你的程序功能是什么啊?
全部回答
  • 1楼网友:行路难
  • 2021-05-11 05:51

我C语言学的不好,也不知道说得对不对,仅供看看,不知道题目,所以……

void encryptChar() {  int i,j;  int str;  char ch;  for(i=0;i<maxline;i++)  {   str=strlen(xx[i]);  //这里直接是str=strlen(xx),并移到for上面去,位置!   for(j=0;j<str;j++)   {    ch=xx[i][j]*11%256;    if(ch<=32||(ch>='0'&&ch<='9'))     continue;    else     xx[i][j]=ch;   }  }这里应该加个xx[i][j]='\0'; }

你再试调一下~~

  • 2楼网友:神也偏爱
  • 2021-05-11 05:34

能告诉我,你想做什么?这样我好帮你改错!

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯