| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1980 人关注过本帖
标题:求解,字符串?
只看楼主 加入收藏
forrest0227
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-12-10
收藏
 问题点数:0 回复次数:15 
求解,字符串?
以函数remove("the wrong son",4, 6),将其中字符串"the wrong son",4表示起始位置,6表示删除字符数。函数只有3个参数,但我只能写出4个参数才达到目的,我写的如下:
#include<stdio.h>
void removeString(const char String[],char String2[], int Start, int count)
{
   int i=0;     /* "the wrong son", 4, 6 */
   do{
       String2[i]=String[i];
       i++;
    }while(String[i]!=String[Start]);
   do{
       String2[i]=String[i+count];
       i++;
      }while(String[i+count]!='\0');
     String2[i]='\0';
}

int main(void)
{
  void removeString(const char String[],char String2[], int Start, int count);
  char newString[10];
  int i=4, p=6;
  removeString("the wrong son", newString, i, p);
  printf("%s\n", newString);
}

[[italic] 本帖最后由 forrest0227 于 2008-1-25 00:08 编辑 [/italic]]
搜索更多相关主题的帖子: 字符 son int String 
2008-01-24 23:52
forrest0227
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-12-10
收藏
得分:0 
自己先顶下
因为函数是void,我把remove后的字符串放在String2中,如果按题目所要求的,只要3个参数like:  remove("the wrong son",4, 6).
我先是自定义个newString[ ], 然后我写newString[ ]=remove("the wrong son",4, 6); 报错。。。
所以才该题用了4个参数
2008-01-25 00:15
nobush
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2008-1-10
收藏
得分:0 
規定 聲明是 const char String[] ?
不可能。
三個參數的話,第一個就是可變値的指針,函數修改指針指向字符串的內容不用返回値
2008-01-25 00:31
forrest0227
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-12-10
收藏
得分:0 
回复 3# 的帖子
没有const, 第一个参数当然可变, 笔误
2008-01-25 13:01
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
收藏
得分:0 
/*没有加其它字符串函数*/
#include<stdio.h>
void removeString( char *String, int Start, int count)
{
   int i=0,j;     /* "the wrong son", 4, 6 */
   char *str,*temp;
   str=String;
   temp=String;
   for(;*str!='\0';str++)
       i++;
   *str='\0';
   str=String;
   for(j=0;j<i;j++)
     {if(j<Start)
     *temp++=*str++;
      else if(j>=Start&&j<Start+count)
     *str++;
      else
    *temp++=*str++; }
     *temp='\0';
     *str='\0';
     printf("%s",String);
}

int main(void)
{
  int i=4,p=6;
  removeString("the wrong son",i,p);
  return 0;
}
2008-01-25 16:20
静夜思
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:济南的冬天
等 级:管理员
威 望:11
帖 子:8913
专家分:2567
注 册:2004-3-25
收藏
得分:0 
回复 5# 的帖子
怎么好多代码看上去格式都不对,是不是论坛的转换有问题,把代码打包传到论坛上来,我测试一下好吗
2008-01-25 16:22
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
void removeString( char *String, int Start, int count)
{
     char *String_Start=Sring+Start;
     char *String_count=Sring+Start+count;
     while(*String_Start++=*String_count++);
    return String;
}

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2008-01-25 16:32
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
收藏
得分:0 
字符串的中间删除.rar (728 Bytes)

没错是格式不对.
也不知道编写好好的到这里就这样了.

[[italic] 本帖最后由 xianshizhe111 于 2008-1-25 16:38 编辑 [/italic]]

字符串的中间删除.rar (726 Bytes)
2008-01-25 16:33
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
LZ注意一下起始字符

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2008-01-25 16:34
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
噢,此函数按有返回值,刚才复制楼上的代码,没按void处理

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2008-01-25 16:37
快速回复:求解,字符串?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037073 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved