我在我的主函数中切换的情况4中不断崩溃,并且无法修复它。从一个函数中的数组中打印字符串C
我会解释一下代码,希望你们能帮助我:
初始化函数
void function1(char[]);
声明字符串
const char *my_array[] = {
"Array of strings one",
"Array of strings two",
"Array of strings three"};
通过数组循环数组主函数中的字符串(这能正常工作,它打印字符串数组)
int i;
for (i=0; i < 3; i++) {
printf("%s\n", my_array[i]);
}
在开关函数的代码(仍然在主函数)
case 4:
function1(my_array);
break;
我测试过,所有以前的代码的工作正常,问题是在这里(主要功能外):
void function1(char my_array[]) {
for (i=0; i < 3; i++) {
printf("%s\n", my_array[i]);
}
printf("\n");}
当我执行开关的情况4时,它崩溃。
的2警告日志给出:
警告:传递 '功能1' 的参数1不兼容的指针 类型
警告:格式 '%s' 的期望类型 '字符*' 的参数但争论2 具有类型“诠释” [-Wformat =]
很抱歉,如果它是一个有点不清楚我想很难,因为我可以为它是很容易理解的解释。
我真的希望你们能帮助我,谢谢!
你不能传递一个'的char []',你传递'char * []'或'char **' –