//Increment and decrement operators:
char *s = "iLoveC";
int j = 0;
s[j++]; // => "i". Returns the j-th item of s THEN increments value of j.
j = 0;
s[++j]; // => "L". Increments value of j THEN returns j-th value of s.
// same with j-- and --j
Некоторые вопросы по этому поводу:Почему целое `j` возвращает` i`?
- Что стоит
*
наs
для? - Почему
j
возвращаетi
вместо 0, на 4-й строке? - Почему
j
возвращаетl
вместо 1, на 6-й строке?
Это происходит из простого учебника для начинающих (http://learnxinyminutes.com/docs/c/), и я даже не мог его понять. Мой фон - PHP/Javascript/Lisp.
Зачем спрашивать, когда вы можете Google или читать книгу? –
Спасибо за ваш ответ. Но вы говорите мне, что я google на выходе из [j ++], пока я пытаюсь это понять. И это даже из простого учебника: http://learnxinyminutes.com/docs/c/ Если я не могу понять простой учебник, как я его когда-либо получаю? Отсюда мой вопрос. – ReneFroger
Вы задаете неправильные вопросы. Ваши вопросы должны быть «что делает * на типе в C? Что делает ++ j?» И т. Д. Большинство этих вопросов можно найти здесь, в формате SO. Но в основном вы хотите прочитать информацию об указателе арифметики – fotanus