JulyCJ 2022-02-26 22:39 采纳率: 25%
浏览 44
已结题

C语言 字符指针数组的使用错误

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

使用字符指针数组,对其进行赋值后,打印失败

问题相关代码

#include <stdio.h>
int main() {
char row[5];
char
s = "ABCDE";
for (int i = 0; i < 5; i++) {
row[i] += s[i];
row[i] += '\0';
}

printf("%s", row[0]);

}

运行结果及报错内容

读取row[0]时发生访问冲突, 请问问题出在哪,该如何解决?

  • 写回答

3条回答 默认 最新

  • 关注

    你声明的是指针数组,而且没有给数组元素赋初值,所以在输出时访问row[0]时会访问到未知的内存

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月6日
  • 已采纳回答 2月26日
  • 创建了问题 2月26日