起因
今天九度刷題的時候,發現一個不調用任何c的庫函數實現字符串拼接的代碼很多人寫的過於復雜,鏈表都用上了,真的不至於,只要知道字符串的最後截止符是'\0'.
題目描述:
不借用任何字符串庫函數實現無冗余地接受兩個字符串,然後把它們無冗余的連接起來。
輸入:
每一行包括兩個字符串,長度不超過100。
輸出:
可能有多組測試數據,對於每組數據,
不借用任何字符串庫函數實現無冗余地接受兩個字符串,然後把它們無冗余的連接起來。
輸出連接後的字符串。
樣例輸入:
abc def
樣例輸出:
abcdef
直接上我的AC代碼吧
[cpp]
#include <stdio.h>
#include <stdlib.h>
void contact(char *str, const char *str1, const char *str2);
www.2cto.com
int main()
{
char str[201], str1[101], str2[101];
while(scanf("%s%s",str1,str2) != EOF)
{
contact(str, str1, str2);
printf("%s\n",str);
}
return 0;
}
/**
* Description:字符串連接函數
*/
void contact(char *str, const char *str1, const char *str2)
{
int i, j;
for(i = 0; str1[i] != '\0'; i ++)
{
str[i] = str1[i];
}
for(j = 0; str2[j] != '\0'; j ++)
{
str[i + j] = str2[j];
}
str[i + j] = '\0';
}