试设计算法,将两个顺序表示的字符串s和t连接起来。要求:不能用strcat函数
时间: 2024-09-29 20:15:27 浏览: 25
为了将两个顺序表示的字符串 `s` 和 `t` 连接起来,你可以创建一个新的字符数组来存储结果,并遍历两个输入字符串。这里提供一个简单的C语言示例:
```c
#include <stdio.h>
#include <string.h>
void concatenate(char *result, const char *s, const char *t) {
int i = 0; // s 的指针
int j = 0; // t 的指针
while (s[i] != '\0') { // 当s还有剩余字符时
result[j++] = s[i]; // 将s的字符复制到结果
i++; // 移动s指针
}
result[j] = '\0'; // 结束s部分并添加空字符
while (t[j] != '\0') { // 如果t还有剩余字符
result[j++] = t[j]; // 将t的字符复制到结果
}
result[j] = '\0'; // 结束t部分并添加空字符
}
int main() {
char s[] = "Hello";
char t[] = "World!";
char combined[50];
concatenate(combined, s, t);
printf("Combined string: %s\n", combined);
return 0;
}
```
在这个例子中,我们首先遍历 `s` 直到结束,然后添加一个空字符来区分两个字符串。接着,如果 `t` 还有剩余字符,继续复制并添加到结果字符串。
阅读全文