Онлайн компилятор C

#include <stdio.h> void my_strcat(char dst[], char src[]){ int m=0; int sum=0; while(dst[m]!='.'){ sum++; m++; } dst[sum]=src[0]; int t=0; while(dst[t]!='\0'){ printf("%c",dst[t]); } } int main() { int dst[1000]="abc.",src[1000]="bcd."; my_strcat(dst,src); return 0; }
这段代码试图实现一个字符串拼接函数,但存在几个关键问题。

首先,代码中判断字符串结束的条件使用了 `'.'` 而不是 `'\0'`,这是错误的。C语言中字符串以空字符 `'\0'` 结尾,而不是句点。

其次,`main` 函数中声明了 `int` 类型的数组来存放字符串,但字符串应该用 `char` 类型数组。

- 检查字符串结束的判断条件,应该用 `'\0'` 而不是 `'.'`。
- 检查数组类型,字符串应该用 `char` 类型,而不是 `int` 类型。