用C语言写一个函数scat(),将一个字符串与另一个串连接。在main函数中输入两个字符串,输出两个字符串连接的结果,要求函数参数用指针变量。(编程设计:在主函数中定义两个字符数组存储字符串,用指针变量指向这两个数组再进行操作)
时间: 2024-10-16 12:04:49 浏览: 40
齐齐哈尔大学C语言题库程序改错(部分).pdf
在C语言中,你可以使用`strcat()`函数直接完成字符串拼接,但是题目要求我们自定义一个名为`scoat()`的函数并使用指针传递字符串。以下是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 自定义scoat函数,接收两个字符指针作为参数
void scoat(char* dest, const char* src) {
// 检查dest是否已经结束,如果未结束则追加src到dest
while (*dest) {
++dest;
}
// 将src中的字符逐个复制到dest,直到src结束
while (*src) {
*dest = *src;
++dest;
++src;
}
// 结束标志'\0'
*dest = '\0';
}
int main() {
// 定义两个字符数组用于输入字符串
char str1[50], str2[50];
printf("请输入第一个字符串:");
fgets(str1, sizeof(str1), stdin); // 留出换行符的空间
str1[strlen(str1) - 1] = '\0'; // 去掉fgets留下的换行符
printf("请输入第二个字符串:");
fgets(str2, sizeof(str2), stdin);
str2[strlen(str2) - 1] = '\0';
// 使用指针调用scoat函数拼接字符串
char result[100];
scoat(result, str1);
// 在结果后面添加str2
scoat(result + strlen(result), str2);
printf("两个字符串连接后的结果是:%s\n", result);
return 0;
}
```
在这个例子中,我们在`scoat()`函数中处理了目标字符串`dest`的结尾,并确保正确地追加源字符串`src`的内容。然后在`main()`函数中,通过先拼接`str1`再拼接`str2`,实现了最终的结果。
阅读全文