鱼C论坛

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

求助~

[复制链接]
发表于 昨天 23:04 | 显示全部楼层 |阅读模式

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

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

x
#include <stdio.h>

void main()
{
        char a[]="Yo!Keep chasing your dreams!It's that simple...";
        char b[50],*p1,*p2;
        int i;
        p1=a;
        p2=b;
        for(;*p1!='\0';)         
        {
                *p2++=*p1++;
        }
        *p2='\0';

        printf("array a is:%s\n",a);
        printf("array b is:");
        for(i=0;b[i]!='\0';i++)
        {
                printf("%c",b[i]);
        }
        printf("\n\n");

}

以上程序是a字符数组里面的内容复制到b字符数组里面,为什么我编译时报错“error C2065: 'i' : undeclared identifier”,我的i已经定义过了啊?我真看不出来哪里出错了?请教一下~
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 昨天 23:05 | 显示全部楼层
鱼油你好!你的代码编译错误主要是因为第6行使用了中文全角逗号“,”而不是英文逗号“,”。这导致编译器无法正确解析变量声明,从而误认为变量 i 未定义。

此外,代码中还有一些其他问题需要修正:

  • main 函数应返回 int 类型,而非 void
  • 字符数组 a 应声明为数组形式,以便存储字符串。
  • b 需要声明为足够大的字符数组来接收复制的字符串。
  • 打印数组 b 时,循环条件应使用 b[i] != '\0'


以下是修正后的代码:


  1. #include <stdio.h>

  2. int main()
  3. {
  4.     char a[] = "Yo!Keep chasing your dreams!It's that simple...";
  5.     char b[100];  // 确保数组足够大
  6.     char *p1, *p2;  // 这里使用英文逗号
  7.     int i;

  8.     p1 = a;
  9.     p2 = b;

  10.     for(; *p1 != '\0';)
  11.     {
  12.         *p2++ = *p1++;
  13.     }
  14.     *p2 = '\0';

  15.     printf("array a is: %s\n", a);
  16.     printf("array b is: %s\n", b);

  17.     // 或者使用循环逐个字符打印
  18.     printf("array b is: ");
  19.     for(i = 0; b[i] != '\0'; i++)
  20.     {
  21.         printf("%c", b[i]);
  22.     }
  23.     printf("\n\n");

  24.     return 0;
  25. }
复制代码


主要修改点:
  • 将中文逗号改为英文逗号。
  • a 改为字符数组,b 声明为长度为100的字符数组。
  • main 函数返回类型改为 int,并添加 return 0
  • 打印 b 时,直接使用 %s 或修正循环条件。


这样修改后,程序就能正确编译运行了。如果还有问题,请随时追问!

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

使用道具 举报

 楼主| 发表于 昨天 23:10 | 显示全部楼层
FishC 发表于 2026-2-7 23:05
鱼油你好!你的代码编译错误主要是因为第6行使用了中文全角逗号“,”而不是英文逗号“,”。这导致编译器无 ...

哈哈,还真是的,我没看到,哈哈哈,可以了,谢谢~~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 昨天 23:10 | 显示全部楼层
但求过程001 发表于 2026-02-07 23:10
FishC 发表于 2026-2-7 23:05
鱼油你好!你的代码编 ...


不客气,很高兴能帮到你!以后写代码时,可以多留意这些容易混淆的标点符号,比如中英文逗号、分号、括号等,它们看起来相似但编译器会严格区分。

有问题随时再来,继续加油编程!

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-8 00:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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