我在我的主函數中切換的情況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 **' –