Следующий код печатает значение 9. Почему?Здесь return(i++) вернет значение 11, а из-за --i само значение должно быть 10, кто-нибудь может объяснить, как это работает?
return(i++)
--i
Это связано с тем, как работает оператор постинкрементной обработки. Возвращает значение i, а затем увеличивает его.
fun (10) возвращает 10. Если вы хотите, чтобы он возвращал 11, вам нужно использовать ++ i, а не i ++.
int fun(int i) { return ++i; }