Код на с++, зачем нужна эта переменная? - Вопросы по С+
  • Чаты 4chT.com в телеграмм
    Наши группы в телеграмм

Вопрос Код на с++, зачем нужна эта переменная?

Регистрация
24 Июл 2013
Сообщения
70
Репутация
0
Спасибо
0
Монет
0
205089573_e44348fd7a6bafb8b3bc5026bc3a17d9_800.png

Всем привет, подскажите пожалуйста зачем нужна переменная "temp" если она = "х", то есть "temp" и есть ''х''. В переменной "temp" ничего же не происходит. Но почему-то вариант А правильный а В нет.
 
Регистрация
10 Дек 2013
Сообщения
85
Репутация
-6
Спасибо
0
Монет
0
если не ошибаюсь, то считать напрямую нельзя в таком случае. тут происходит перевод на другую переменную, значение, конечно, не поменяется, но все будет норма
 
Регистрация
9 Дек 2013
Сообщения
100
Репутация
0
Спасибо
0
Монет
0
В первом варианте x остается без изменений до конца. Во втором варианте к концу x превращается в ноль, и сравнение (reversed == x) теряет смысл.
 
Регистрация
28 Окт 2013
Сообщения
87
Репутация
0
Спасибо
0
Монет
0
Варианты A и B отличаются типом параметра x: в варианте A - int, в варианте B - long long int. И это единственное существенное отличие, влияющие на компиляцию / работу кода.

То, что в варианте A значение x присваивается temp и уже temp меняется внутри цикла, а в варианте B внутри цикла меняется x, в данном случае никакой роли не играет, т.к. x - параметр, передаваемый по значению, и никакие манипуляции с x никак не влияют на код, в котором происходит вызов isPalindrome.
 
Сверху Снизу