使用字符指针数组,对其进行赋值后,打印失败
#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