ポインタについて知りたいので、このコードでは正しくない値が返されているようです。文字列とポインタを学習しても結果がわかりにくい
char start[5]= "1234"; // Auto adds Null Char;
char* p_start;
int i;
int main(){
printf("Original %s\n",start);
p_start = start;
for (i=0; i<4; i++)
{
// start[2]='j';
printf("Line 1 %c\n",start[i]);
start[2]='k';
printf("Line 2 %c\n",p_start[i]);
}
return 0;
}
Original 1234
Line 1 1
Line 2 1
Line 1 2
Line 2 2
Line 1 k ---------------- Why is this not 3
Line 2 k
Line 1 4
Line 2 4
私は[2] = 'j'をコメント解除します。それから私は得る
Original 1234
Line 1 1
Line 2 1
Line 1 2
Line 2 2
Line 1 j Correct
Line 2 k
Line 1 4
Line 2 4
なぜ3は印刷されないのですか?
おかげウォレスあなたは、文字列、p_startをコピーし、起動していない