当前位置: 首页 > news >正文

删除指定下标的字符c语言,C语言 删除字符串中指定下标

要求编写一个函数void fun(char a[],char b[],int n),功能是:删除一个字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。

例如,输入字符串World,然后输入3,则调用函数后的结果为Word。

题目中,部分源程序已给出,请勿改动main函数,只需把fun函数以内的内容写出即可。

试题程序是:

#include

#include

#define LEN 20

void fun(char a[],char b[],int n)

{

/************** 以下这部分是题目答案 ********************

int i,j=0;

for(i=0;i

if(i!=n)

{

b[j]=a[j];

j++;

}

b[j]='\0';

**************************************************************/

/************** 这个是我回答的内容 ***************************

int i,j=0;

for(i=0;i

b[i]=a[j];

j=j+1;

for(i=n;i

b[i]=a[j];

b[i]='\0';

***************************************************************/

}

main()

{

char str1[LEN],str2[LEN];

int n;

FILE *out;

printf("Enter the string:\n");

gets(str1);

printf("Enter the position of the string deleted:\n");

scanf("%d",&n);

fun(str1,str2,n);

printf("The new string is:%s\n",str2);

fun("Hellow World!",str2,9);

out=fopen("out.dat","w");

fprintf(out,"%s",str2);

fclose(out);

}

它那个答案为什么要那样写呢?if(i!=n)的时候做那个语句块,等到i==1的时候,就做b[j]='\0';,然后再一直循环直到结尾,那他不就等于是 把非指定下标的字符依次拷贝到字符串b中,但是那个指定下标内却存放了字符'\0'了?

还是我哪里理解错了?

可是它这个答案,我运行下来的结果是错误的啊……,我自己写的那个运行结果也是错的。

那到底应该怎么写呢?它这个答案到底是不是正确的呢?如果是正确的话,能具体解释一下吗?

相关文章:

  • 大学c语言 81页答案,七上英语教与学答案78页到81页
  • C语言h文件可以定义变量吗,C语言h文件头中的变量初始化
  • 幻方c语言编程,C语言程序编程:输入奇数输出n阶幻方矩阵.docx
  • 中国石油大学c语言上机题目答案,中国石油大学C语言上机题答案(2013版)答案_最全最详细...
  • 知道计算机c语言期末考试题库,大学计算机基础期末考试试题题库及答案.doc
  • 小度c1语言控制电视,小度在家1c怎么连接电视机
  • c语言数据类型陈述,麻烦,如果C语言中的陈述与计算相结合
  • android 广播震动,android的消息提示(震动与提示音)
  • android 动态创建线程池,Android四种常见的线程池
  • android包之间的关系,第 4 章 依赖关系,Android 库和多项目设置
  • android数组的定义数组长度,Android OpenGLES3.0 入门教程(三)——顶点数组和统一变量...
  • android mediastore.images.media.insertimage,尝试获取图像URI时,mediastore.images.media.insertImage返回空值...
  • android程序拍照内存溢出,彻底解决Android 拍照 内存溢出 Out of Memory的问题
  • 华为1120发布鸿蒙战略,华为发布智慧屏战略 首款产品搭载鸿蒙系统
  • Android备忘录github,Github备忘录
  • 分享的文章《人生如棋》
  • 时间复杂度分析经典问题——最大子序列和
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • 2017 年终总结 —— 在路上
  • CentOS7 安装JDK
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Javascript基础之Array数组API
  • Laravel 菜鸟晋级之路
  • socket.io+express实现聊天室的思考(三)
  • 闭包--闭包之tab栏切换(四)
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 阿里云ACE认证学习知识点梳理
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • #NOIP 2014# day.2 T2 寻找道路
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (javascript)再说document.body.scrollTop的使用问题
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (ZT)薛涌:谈贫说富
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (转)程序员技术练级攻略
  • (转)一些感悟
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .NET BackgroundWorker
  • .NET 反射 Reflect
  • .NET 反射的使用
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .net网站发布-允许更新此预编译站点
  • @Data注解的作用
  • [AutoSar NVM] 存储架构
  • [C#][DevPress]事件委托的使用
  • [cogs2652]秘术「天文密葬法」
  • [C语言]编译和链接
  • [error] 17755#0: *58522 readv() failed (104: Connection reset by peer) while reading upstream
  • [Hive] CTE 通用表达式 WITH关键字