何らかの理由で、stringArr [n]のmallocを使用すると、strArr [n-1]の値に '!'最後の文字を '!'に置き換えます。 GDBでは、strArr [n]に代入すると文字列が検索されますが、nがインクリメントされるときにstrArr [n](この場合n + 1)をmallocすると、strArr [n-1]追加されました。なぜ私はこれが起こっているのか分からない。文字列配列の最後の値の末尾に感嘆符が表示されるC
char** stringArr = malloc(sizeof(char*)*28);
char* token;
int n = 0;
while(n < 28)
{
token = //tokenize something here
stringArr[n] = malloc(sizeof(token)+1);
strcpy(stringArr[n], token);
}
うわー、私はそれを信じられませんでした。それは私のシステムクラスの学期の終わりであり、私はまだ少しの間違いで追いついています:( – codemonkey