鱼C论坛

 找回密码
 立即注册
查看: 1284|回复: 3

为什么会报错

[复制链接]
发表于 2023-12-27 21:44:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include<stdio.h>
  2. #include <string.h>

  3. void my_strcat(char *src,char *dst)
  4. {
  5.     int n=strlen(src);
  6.     int i=0;
  7.     while (*(dst+i)!='\0')
  8.     {
  9.         *(src+n+i)=*(dst+i);
  10.         // src[n+i]=dst[i]
  11.         i++;
  12.     }
  13.     *(src+n+i)=0;


  14.    

  15. }


  16. int mian()
  17. {
  18.     char str1[128]="hello";   //实现字符串的追加
  19.     char str2[128]="123456";
  20.     my_strcat(str1,str2);
  21.     printf("%s\n",str1);

  22. }
复制代码

没有找出来错误
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-12-27 21:44:39 | 显示全部楼层
这段代码存在一些错误,让我们来逐个解决。

1. 缺少头文件
你的代码中没有包含所需的头文件。为了使用 strlen() 和 printf() 函数,你需要引入相应的头文件。
  1. #include <stdio.h>
  2. #include <string.h>
复制代码

2. 字符串的声明和初始化
在 C 语言中,字符串是以字符数组的形式存储的。你需要用字符数组来声明和初始化字符串,而不是使用字符指针。
  1. char str1[] = "hello";
  2. char str2[] = "123456";
复制代码
或者,你可以使用指针方式来声明字符串并分配内存。
  1. char* str1 = "hello";
  2. char* str2 = "123456";
复制代码
请注意,这两种方式在使用时稍有不同。

3. 输入参数修改
在函数 my_strcat() 中,你使用了 char* 来表示输入参数 src 和 dst。然而,当你调用这个函数时,你传递的是指向字符数组的指针,而不是字符指针。因此,将这两个参数改为 char 数组指针类型。
  1. void my_strcat(char* src, char* dst)
复制代码

4. 主函数拼写错误
将 `int mian()` 修改为 `int main()`。

综上所述,修正后的代码如下:
  1. #include <stdio.h>
  2. #include <string.h>
  3. void my_strcat(char* src, char* dst)
  4. {
  5.     int n = strlen(src);
  6.     int i = 0;
  7.     while (*(dst + i) != '\0')
  8.     {
  9.         *(src + n + i) = *(dst + i);
  10.         i++;
  11.     }
  12.     *(src + n + i) = '\0';
  13. }
  14. int main()
  15. {
  16.     char str1[] = "hello";
  17.     char str2[] = "123456";
  18.     my_strcat(str1, str2);
  19.     printf("%s\n", str1);
  20.     return 0;
  21. }
复制代码
这段代码现在应该能够正确运行,并输出 "hello123456"。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-27 23:45:34 | 显示全部楼层
本帖最后由 jackz007 于 2023-12-27 23:47 编辑

        唯一的错误在第 22 行:
  1. int mian()              // 【错误】:主函数是 "main()",不是 "mian()"
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-28 00:18:51 | 显示全部楼层
本帖最后由 Husj0711 于 2023-12-28 00:20 编辑

mian  -->  main

手敲快了是这样的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-17 08:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表