2014-10-29 4 views

ответ

1

Поскольку вы изменяя указатель, предоставленный в первом вызове метода, поэтому, когда он наконец-то вокруг самой печати, и завершает выполнение , индекс уже был увеличен до второго символа.

В первом случае str + 1, str не изменяется вообще, поэтому самый последний printf просто печатает первый символ.

Имейте в виду, что префикс и постфикс ++ фактически изменяют значение переменной.

0

++str приросты первого затем печатает, вам нужно str++

+1

Hm, reverse (str ++) будет идти бесконечно или сделать seg. неисправность. Поскольку следующая функция получает только str, str, которая увеличивается, остается в предыдущем funcstion, и только эта функция может ее видеть. :) – Vladimir

+0

хороший улов, так что вы пытаетесь достичь? вы хотите, чтобы другая функция получала str и добавляла к ней одновременно? В случае ++ str другая функция получает добавленное значение str, потому что у вас есть ++ до –

+0

Фактически, я просто «экспериментировал» со строкой ++. Впервые я попытался решить, я сделал str + 1. str ++ смотрел на меня как на одно и то же, так что да, просто ради любопытства. Я пошарил экзамен первого уровня программирования на C, теперь я нахожусь на втором месте, просто хочу освоить c как можно скорее. :) – Vladimir