【C语言debug】for information on how your program can cause an assertion failure

我将带头抽风 2016-03-23 04:42:37



#include <stdio.h>
#include <string.h>
void NONO();
int fun( char *t )
{
int len,i,j,flag=1;
len=strlen(t);
if(len<2){
return 0;
}
for(i=0;i<len-1;i++){
for(j=i+1;j<len;j++){
if(t[j]-t[i]<0){
flag=0;
return 0;
}
}
}
if(flag==1){
return 1;
}



}

main()
{ char s[26];
printf("请输入一个字母组成的字符串 : "); gets(s);
if( fun(s) ) printf("%s 是由连续字母组成的字符串.\n", s );
else printf("%s 不是由连续字母组成的字符串!\n", s );
NONO();
}

void NONO()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
FILE *fp, *wf ;
int i;
char s[26], *p;

fp = fopen("c:\\test\\in.dat","r") ;
wf = fopen("c:\\test\\out.dat","w") ;
for(i = 0 ; i < 10 ; i++) {
fgets(s, 26, fp);
p=strchr(s,'\n');
if(p) *p=0;
if (fun(s)) fprintf(wf, "%s\n", s+2);
else fprintf(wf, "%s\n", strrev(s));
}
fclose(fp) ;
fclose(wf) ;
}

...全文
992 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Vv不是你 2020-02-27
  • 打赏
  • 举报
回复
这个题我也是服了,不让改动其他函数里的内容,结果文件指针fp指向的文件in.dat是只读的,然后文件在该路径下不存在。楼主可以改文件路径为 fp = fopen("in.dat","r") ; wf = fopen("out.dat","w") ; 考试应该不会出现这样的情况。
小灸舞 版主 2016-03-23
  • 打赏
  • 举报
回复
NONO函数中,这两句有问题 fp = fopen("c:\\test\\in.dat","r") ; wf = fopen("c:\\test\\out.dat","w") ; 打开失败了(不存在"c:\\test\\in.dat这个文件),或者是没有权限在这个目录下写文件 楼主fopen以后应该判断下指针是否为NULL if(fp != NULL && wf != NULL){ .............. }
我将带头抽风 2016-03-23
  • 打赏
  • 举报
回复
下面调用文件时候路径不对

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧