Endiex 朱 2021-11-23 17:32 采纳率: 50%
浏览 22
已结题

使用指针复制产生错误不知道为何

问题遇到的现象和发生背景

//就是整形数组的第一个值输出有错误

问题相关代码,请勿粘贴截图
#include<stdio.h>
int main()
{
    int a[5],*p=a;
    char b[5],*p1=b;//指针的声明与初始化
    int i;
    for(i=0;i<5;i++)
        scanf("%d",p+i);
    getchar();
    gets(p1);
    for(i=0;i<5;i++)
        printf("%d\n",a[i]);
    printf("%s\n",p1);
    for(i=0;i<5;i++)
        printf("%c\n",*(p1+i));
    return 0;

}
运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

1条回答 默认 最新

  • CSDN专家-link 2021-11-23 17:35
    关注

    我测试输出正常啊
    有一个问题是b数组太小了,输入abcde会越界的,改成b[10]试试

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月1日
  • 已采纳回答 11月23日
  • 创建了问题 11月23日