鱼C论坛

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

[已解决]关于自定义函数 字符串

[复制链接]
发表于 2022-3-10 17:19:33 | 显示全部楼层 |阅读模式

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

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

x
11.设计函数,将字符数组中指定的字符删除。
void  del_char(char *s,char  c);

我这个咋不行呢 哪里不规范了

#include<stdio.h>
void del_char(char *s,char c)
{
   int i,j=0;
   for(i=0;i!='\0';i++)
   {
       if(s[i]==c)continue;
       s[j++]=s[i];
   }
}
main()
  {
      int i;
      char c='b';
      char b[3]="abc";
      del_char(b,c);
      for(i=0;i<3;i++)
        printf("%c",b[i]);
  }
最佳答案
2022-3-10 17:36:38
本帖最后由 isdkz 于 2022-3-10 17:52 编辑

你的 i 初值为 0,并不等于 '\0',所以循环体并没有执行。
#include<stdio.h>
void del_char(char *s,char c)
{
   int i,j=0;
   for(i=0;s[i]!='\0';i++)         // 注意这里
   {
       if(s[i]==c)continue;
       s[j++]=s[i];
   }
   s[j] = '\0';                          
}
main()
  {
      int i;
      char c='b';
      char b[3]="abc";
      del_char(b,c);
      for(i=0;i<3;i++)
        printf("%c",b[i]);
  }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-3-10 17:36:38 | 显示全部楼层    本楼为最佳答案   
本帖最后由 isdkz 于 2022-3-10 17:52 编辑

你的 i 初值为 0,并不等于 '\0',所以循环体并没有执行。
#include<stdio.h>
void del_char(char *s,char c)
{
   int i,j=0;
   for(i=0;s[i]!='\0';i++)         // 注意这里
   {
       if(s[i]==c)continue;
       s[j++]=s[i];
   }
   s[j] = '\0';                          
}
main()
  {
      int i;
      char c='b';
      char b[3]="abc";
      del_char(b,c);
      for(i=0;i<3;i++)
        printf("%c",b[i]);
  }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-10 17:44:35 | 显示全部楼层
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
void del_char(char* s, char c)
{
    int i, j = 0;
    for (i = 0; s[i]; i++)   //这里的判断条件要改成s[i],改成s[i]的意思是判断是否已经到底数组末尾
    {
        if (s[i] == c)continue;
        s[j++] = s[i];
    }
    s[j] = 0;//循环结束记得手动在那里添给'\0给数组结尾
}
int main()
{
    int i;
    char c = 'b';
    char b[4] =  "abc" ;   //记住,要大于你所给字符串个数一个,因为系统要自动给他添一个'\0'
    del_char(b, c);
    for (i = 0; i < 3; i++)
        printf("%c", b[i]);
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-10 19:40:52 | 显示全部楼层
代码里面错误太多了,自己检查一下啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-5 13:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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