鱼C论坛

 找回密码
 立即注册
查看: 1542|回复: 3

帮忙检查下错误,或者试验下为什么?

[复制链接]
发表于 2014-12-21 16:16:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 siberian_wolf 于 2014-12-21 18:00 编辑

看小甲鱼老师的视频,函数最后一讲,分文件编写函数时的一个作业,我的运行结果与小甲鱼老师的不一样。但是代码基本上是一样的。自己找了好几遍没找出来,编译链接都正常。先上图
first.JPG

单步调试是发现是del_string()出问题了,刚开始运行i的值就是5,明明应该是0才对,赋的初值就是0,j的值是对的,就郁闷了,如下图:

second.JPG
搞不懂是为什么了,请大家帮忙解答!!
各函数代码如下:
/*main.c*/

#include<stdio.h>

void main()
{
      extern void enter_string(char str[]);
      extern void del_string(char str[], char ch);
      extern void print_string(char str[]);
    
      char ch;
      char str[80];
    
      enter_string(str);
      scanf("%c", &ch);
      del_string(str, ch);
      print_string(str);
}
/*del.c*/

void del_string(char str[], char ch)
{
      int i, j;
      for(i=j=0; str[i] != '\0'; i++);
      {
            if(str[i] != ch)
            {
                  str[j++]=str[i];
            }
      }
      str[j]='\0';
}
/*enter.c*/

#include<stdio.h>

void enter_string(char str[80])
{
      gets(str);
}
/*print.c*/

#include<stdio.h>

void print_string(char str[])
{
      printf("%s\n", str);
}





想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-12-21 18:15:16 | 显示全部楼层
晕,不知道是什么原因,我在另一台电脑上也是这个毛病。然后就把i的初值改为了1,结果就可以运行了。然后又把i的初值改回0,结果就一切正常了。这……………………TMD在玩我啊!!!!:huffy::huffy::huffy::huffy:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-12-21 18:43:33 | 显示全部楼层
错误的原因在于del.c里面的for循环后面多了个分号
我调了老长时间才发现:cry
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-21 20:25:25 | 显示全部楼层
Victory_6226 发表于 2014-12-21 18:43
错误的原因在于del.c里面的for循环后面多了个分号
我调了老长时间才发现

:handshake,souga,原来如此,我说呢,哎,都是粗心惹的祸,编译器没提示!:sweat::sweat:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-18 11:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表