我不能賦值在循環中的字符數組,做它包含在每一個陣列值分配環路值字符數組指針
例如這工作
char* foo[3];
foo[0] = "mango"; foo[1] = "kiwi"; foo[2] = "banana";
int i=0; for(i=0;i<3;i++)
{
printf("%s\n",foo[i]);
}
但相同的值這不,我不明白爲什麼。
char* foo[3]; int i=0;
for(i=0;i<3;i++) {
char temp[5];
sprintf(temp,"VAL:%d",i);
foo[i] = temp;
}
for(i=0;i<3;i++)
{
printf("%s\n",foo[i]);
}
請提前感謝幫助和
'爲(I = 0; I <3;我++){炭溫度[ 5];的sprintf(溫度, 「VAL:%d」,i)的; foo [i] = temp; }在循環體完成之後,將一個指針賦給一個不存在的局部變量。你的編譯器沒有警告過這個嗎? –
我正在使用gcc的code :: blocks,日誌窗口被關閉了,因爲我認爲它不會花費太多時間來記住一些東西,對不起這個 – Rayum