用C语言编写一个在字符串中插入一个字符的程序

用C语言编写一个在字符串中插入一个字符的程序,第1张

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

#defineN100

voidInsert(char*s)

intmain()

{

charstr[N]

printf("Inputastring:")

gets(str)

Insert(str)

printf("Insertresults:%s\n",str)

return0

}

voidInsert(char*s)

{

charstr[N]

char*t=str

strcpy(t,s)

for(*t!='\0's++,t++)

{

*s=*t

s++

*s=''

}

*s='\0'/*在字符串s的末尾添加字符串结束标志*/

}

扩展资料

C语言通过定义一个char类型的二维数组实现,通过二维数组的行索引可得到数组中的每个字符串,列的大小限定了每个字符串所能包含的最大字符个数,所以采用这种定义方式时,列的大小必须不能小于数组所有字符串的最大长度。

C语言编程定义一个字符串的数组:

str={

“IloveC.”,

“IloveC++.”,

“IloveJAVA.”,

“IlovePython.”,

“IloveLabVIEW.”

}

c[5]只有5个空间无法完全容纳字符串"hello",因为这个字符串需要占用6个字符位置。

所谓自动加'\0'的问题是:你写在双引号中的,编译程序会认为是字符串,会自动为你添加上一个字符串结尾符号0,而不是运行时添加的。

如果你用debug方式运行程序,调试环境自动会把你开设的char

a[5]进行初始化0的工作,这时你再将第1位初始化时,后面的0仍存在就好象字符串结尾已经存在了。如果非debug运行则没有这个初始化工作。

如果你用字符方式初始化应当写:char

c[6]={

'h','e','l','l','o','\0'

}

希望对你能有所帮助。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11306478.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存