0
這是一個大型程序中的一個無效函數,具有打印某種圖表的功能。它將首先打印標題,然後使用for循環打印13行,從4個數組中調用信息。名稱,2D Char數組,分數,2D Int數組,平均值,1D浮點數組和字母,1D Char數組。無效函數分割錯誤中的字符串錯誤
函數本身看起來像這樣:
void display(char names[][8], int scores[][4], float *average, char *letter)
{
int q = 0;
printf("\n\n Name \t E1 \t E2 \t E3 \t E4 \t Avg \t Grade");
for(q=0; q<13; q++)
{
printf("\n %s \t %d \t %d \t %d \t %d \t %.2f \t %c", names[q][0], scores[q][0],
scores[q][1], scores[q][2], scores[q][3], average[q], letter[q]);
}
return;
}
一旦我運行它,它運行良好,直到函數調用此,有一次我到那裏,我得到一個分段錯誤。作爲參考,這是函數調用:
display(&names, &scores, &average, &letter);
中的printf的%C更改%S停止分段錯誤,但我需要它來打印陣列不僅僅是單個字符在舉行的弦。
那麼如何打印字符串(和聲明作爲一個整體)沒有分段錯誤?