Я пытаюсь узнать о указателях, и этот код возвращает неправильные значения.Изучение строк и указателей, но запутывающих результатов
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 не печатают?
Благодаря Wallace