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

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

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

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

问题相关代码,请勿粘贴截图
#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日

悬赏问题

  • ¥15 matlab有限元法求解梁带有若干弹簧质量系统的固有频率
  • ¥15 找一个网络防御专家,外包的
  • ¥100 能不能让两张不同的图片md5值一样,(有尝)
  • ¥15 informer代码训练自己的数据集,改参数怎么改
  • ¥15 请看一下,学校实验要求,我需要具体代码
  • ¥50 pc微信3.6.0.18不能登陆 有偿解决问题
  • ¥20 MATLAB绘制两隐函数曲面的交线
  • ¥15 求TYPCE母转母转接头24PIN线路板图
  • ¥100 国外网络搭建,有偿交流
  • ¥15 高价求中通快递查询接口