#include <stdio.h>
int main(void)
{
/* an array with 5 rows and 2 columns*/
char* a[5][2];
int y, p;
for(y = 0; y < 5; y++)
{
for(p = 0; p < 2; p++)
{
scanf("%s", a[y][p]);
}
}
int i, j;
/* output each array element's value */
for (i = 0; i < 5; i++)
{
for (j = 0; j < 2; j++)
{
printf("a[%d][%d] = %s\n", i,j, a[i][j]);
}
}
return 0;
}
插入2串後,我已經得到一個分段故障作爲該計劃的輸出。任何人都可以告訴我我的代碼有什麼問題嗎?分段故障
第1步提前調試:什麼是您的調試器說? – tadman
提示:您的'a'字符緩衝區永遠不會被初始化,那麼'scanf'在哪裏放置這些數據?可能在一些隨機指針位置並炸燬你的程序。 – tadman
另一個提示:在'scanf(「%s」,a [y] [p])之前需要一行'a [y] [p] = malloc(X);'',其中'X'是要讀取的字符串的長度加上1. – DyZ