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]时发生访问冲突, 请问问题出在哪,该如何解决?

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

首先 row没有赋值。
最严重的错误在于%s对应的是字符串,要输出row中单个字符,需要用%c

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632