⑴ c語言中,如何在一字元串中插入字元
c[5]只有5個空間無法完全容納字元串"hello",因為這個字元串需要佔用6個字元位置。
所謂自動加'\0'的問題是:你寫在雙引號中的,編譯程序會認為是字元串,會自動為你添加上一個字元串結尾符號0,而不是運行時添加的。
如果你用debug方式運行程序,調試環境自動會把你開設的char
a[5];進行初始化0的工作,這時你再將第1位初始化時,後面的0仍存在就好象字元串結尾已經存在了。如果非debug運行則沒有這個初始化工作。
如果你用字元方式初始化應當寫:char
c[6]={
'h','e','l','l','o','\0'
};
希望對你能有所幫助。
⑵ c語言在指定字元後增加指定字元。
//示例代碼如下
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#defineMAX_LAN1024
char*change(constchar*str,charch)
{
inti,j,k,len;
char*p=calloc(1,sizeof(MAX_LAN));//動態內存分配並初始化為0
strcpy(p,str);
len=strlen(p);
for(i=0;i<len;i++)
{
if(p[i]==ch)
{
k=i+1;//待插入的位置
for(j=len-1;j>i;j--)
p[j+1]=p[j];
p[k]=ch;
len++;
i++;
}
}
p[len]='