这个初始化有两个问题:

  1. 数组的第二维度只有3,但"xyz"和"mnp"都有3个字符,需要给每个字符串留出一个额外的位置来存放字符串结束符'\0'。

  2. 数组的第一维度只有2,但初始化语句中提供了3个字符串,需要将第一维度的大小改为3,或者删除一些字符串以适应数组的大小。

正确的初始化方式如下:

  1. 将数组的第二维度改为4,以容纳每个字符串的结束符。
char s4[2][4] = {{"xyz"}, {"mnp"}};
  1. 将数组的第一维度改为3,以容纳所有的字符串。
char s4[3][4] = {{"xyz"}, {"mnp"}};
  1. 删除一个字符串,以适应数组的大小。
char s4[2][4] = {{"xyz"}, {"mnp"}};

原文地址: https://www.cveoy.top/t/topic/butG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录