這裏的問題是,每當我更改studName的內容時,studArr中的內容也會發生變化。C - 在一個2d char *數組中存儲多個char數組
如果輸入看起來像這樣(AAA,BBB,CCC)
我首先將AAA
存儲在studName
之內,然後將studName
存儲到studArr
。
我試圖讓:
studArr[0][1] = "AAA"
studArr[0][2] = "BBB"
studArr[0][3] = "CCC
但是當我使用此代碼個個平等CCC
。有沒有辦法解決這個問題?
for (j = 0; j < NumCourses + 1; j++){
i = 0;
k = 0;
while ((c = fgetc(ifp)) != ')'){
if (c == ','){
studName[3] = '\0'; // ends sting with null char
studArr[j][k+1] = studName;
k++;
i = 0;
}
else{
studName[i] = c;
i++;
}
}
studName[3] = '\0'; // ends sting with null char
studArr[j][k+1] = studName; // store studName in studArr
}
歡迎來到Stack Overflow!請參閱[遊覽](http://stackoverflow.com/tour)並閱讀[如何提問](http://stackoverflow.com/help/how-to-ask),以瞭解我們對此問題的期望。 –
什麼是'studArr'? –
char * studArr [NumCourses] [1024]; char studName [3]; 其中NumCourses只是一個常數 – IVRafa