輸入兩句英文句子 (含空格),不使用 `strcat`,手動拼接並輸出。
#include
#define MAX 200
int main() {
char s1[MAX], s2[MAX];
printf("輸入第一句: ");
fgets(s1, MAX, stdin);
s1[strcspn(s1, "\n")] = '\0'; // 移除 fgets 讀入的換行
printf("輸入第二句: ");
fgets(s2, MAX, stdin);
s2[strcspn(s2, "\n")] = '\0';
// 找 s1 末尾
int i = 0;
while (s1[i] != '\0') i++;
// 加空格
s1[i++] = ' ';
// 複製 s2
int j = 0;
while (s2[j] != '\0') {
s1[i++] = s2[j++];
}
s1[i] = '\0';
printf("拼接結果: %s\n", s1);
return 0;
}
這就是不使用 `strcat` 的手動拼接邏輯:定位末尾 → 加分隔符 → 逐字元複製 → 封口。