| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 803 人关注过本帖
标题:新手求助:编写程序,输入一个字符串,删除从指定位置k开始的n个字符,k和n ...
只看楼主 加入收藏
w的平方
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2023-4-12
结帖率:80%
收藏
已结贴  问题点数:10 回复次数:9 
新手求助:编写程序,输入一个字符串,删除从指定位置k开始的n个字符,k和n的值由键盘读入。
程序代码:
#include <stdio.h>
#include <string.h>
#define N 80
int main()
{
    char s[N];
    int k,n,i;
    gets(s);
    scanf("%d%d",&k,&n);
    for(i=k;i<strlen(s)-n;i++)
    {
        s[i]=s[i+n];
        s[i]!='\0';
        }
    }
    puts(s); 
    return 0;

 } 

例如,字符串内容为:Hellollo World!,k的值为5,n的值为3,结果为Hello World!。

但是我这个程序最后输出Hello World!ld!
应该怎么改?
搜索更多相关主题的帖子: 读入 字符串 World 键盘 位置 
2023-05-24 21:55
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:2 
s[i]!='\0';中 ! 是什么意思?
2023-05-24 23:24
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1479
专家分:9055
注 册:2010-3-16
收藏
得分:3 
后面的字符前移之后要补'\0'到新字符串末尾。
2023-05-24 23:25
cheetah
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:119
专家分:118
注 册:2013-6-29
收藏
得分:2 
别的不说,你这个程序能编译通过才怪,多了一个大括号
s[i]!='\0';感叹号去掉

天道酬勤
2023-05-26 07:48
不会游泳的虾
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:27
帖 子:107
专家分:675
注 册:2021-7-1
收藏
得分:3 
修改如下,供参考:
程序代码:
#include <stdio.h>
#include <string.h>
#define N 80
int main()
{
    char s[N];
    int k, n, i;
    gets(s);
    scanf("%d%d", &k, &n);
    if (k + n > strlen(s))   //修改 如果 k+n 超过字符串长度
        n = strlen(s) - k;   //修改
    for (i = k; i < strlen(s) - n; i++)
    {
        s[i] = s[i + n];
    }
    s[i] = '\0';  //s[i]!='\0'; 修改
    puts(s);
    return 0;

 }


[此贴子已经被作者于2023-5-29 11:42编辑过]

2023-05-29 11:41
w的平方
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2023-4-12
收藏
得分:0 
回复 2楼 rjsp
我以为是让字符串s在第i处结束但是仅仅删去这个之后只会输出hello
2023-05-31 23:31
w的平方
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2023-4-12
收藏
得分:0 
回复 4楼 cheetah
不好意思copy的时候一不小心打多了,但是仅仅删去这个只会输出hello
2023-05-31 23:32
w的平方
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2023-4-12
收藏
得分:0 
回复 2楼 rjsp
可如果把是s[i]='\0'放出for循环又对了
2023-05-31 23:35
w的平方
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2023-4-12
收藏
得分:0 
不太懂s[i]='\0'和s[i]='\0'的含义?
2023-05-31 23:38
w的平方
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2023-4-12
收藏
得分:0 
突然懂了,感谢各位
2023-05-31 23:47
快速回复:新手求助:编写程序,输入一个字符串,删除从指定位置k开始的n个字符, ...
数据加载中...
 
   



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

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