void Insert(char*s1,char*s2,int n)
{
char*result=(char*)malloc(20*sizeof(char));
char*temp=result;//儲存result的初始地址,因為後面要改變result
//把s1的一部分賦給result
for(int i=0;i<n;i++)
*result=*(s1++);
result++;
}
//把s2的所有內容賦給result
while(*s2!="\0")
*result=*(s2++);
*result="\0";//字串結束符
printf("%s\n",temp);
int main()
char*s1=(char*)malloc(20*sizeof(char));
char*s2=(char*)malloc(20*sizeof(char));
int n;
printf("請輸入第一個字串:");
scanf("%s",s1);
printf("請輸入第二個字串:");
scanf("%s",s2);
printf("請輸入插入的位置:");
scanf("%d",&n);
Insert(s1,s2,n);
getchar();
system("pause");
return 0;
示例執行結果:
請輸入第一個字串:You are ok
請輸入第二個字串:fine and
請輸入插入的位置:8
You are fine and ok
請按任意鍵繼續…
擴充套件資料:
char用法:
C語言中char用於定義字元型別變數或字元指標變數,例如“char a;”則定義了變數a是字元型別,“char*a;”則定義了變數a是字元指標型別。
char是C語言整型資料中比較古怪的一個,其它的如int/long/short等不指定signed/unsigned時都預設是signed,但char在標準中不指定為signed/unsigned,編譯器可以實現為帶符號的,也可以實現為不帶符號的。
關於char還有一個特殊的語言就是char*,它在C語言中有專門的語義,既不同於signed char*,也不同於unsigned char*,專門用於指以"\0"為結束的字串。
void Insert(char*s1,char*s2,int n)
{
char*result=(char*)malloc(20*sizeof(char));
char*temp=result;//儲存result的初始地址,因為後面要改變result
//把s1的一部分賦給result
for(int i=0;i<n;i++)
{
*result=*(s1++);
result++;
}
//把s2的所有內容賦給result
while(*s2!="\0")
{
*result=*(s2++);
result++;
}
*result="\0";//字串結束符
printf("%s\n",temp);
}
int main()
{
char*s1=(char*)malloc(20*sizeof(char));
char*s2=(char*)malloc(20*sizeof(char));
int n;
printf("請輸入第一個字串:");
scanf("%s",s1);
printf("請輸入第二個字串:");
scanf("%s",s2);
printf("請輸入插入的位置:");
scanf("%d",&n);
Insert(s1,s2,n);
getchar();
system("pause");
return 0;
}
示例執行結果:
請輸入第一個字串:You are ok
請輸入第二個字串:fine and
請輸入插入的位置:8
You are fine and ok
請按任意鍵繼續…
擴充套件資料:
char用法:
C語言中char用於定義字元型別變數或字元指標變數,例如“char a;”則定義了變數a是字元型別,“char*a;”則定義了變數a是字元指標型別。
char是C語言整型資料中比較古怪的一個,其它的如int/long/short等不指定signed/unsigned時都預設是signed,但char在標準中不指定為signed/unsigned,編譯器可以實現為帶符號的,也可以實現為不帶符號的。
關於char還有一個特殊的語言就是char*,它在C語言中有專門的語義,既不同於signed char*,也不同於unsigned char*,專門用於指以"\0"為結束的字串。