У меня есть две переменные в одном списке: t [i] и t [j] - PullRequest
0 голосов
/ 12 января 2019

Вчера я работал над проектом, который называется палиндромными словами (слова, которые можно читать с обеих сторон, например, гоночный автомобиль). Код ниже. В основном это не сработало, поэтому я попытался отобразить результаты, используя printf(t[j]).

Но что я заметил, так это то, что когда (j = 3 i будет i = 1), а затем (когда j = 1 i будет i = 3) и в тех случаях, когда мы делаем t [j] = t [i] (поэтому в коде он будет иметь значение t [3] = t 1 и t 1 = t [3]).

Так что вместо того, чтобы показывать слово "привет", которое я набрал, оно показывает "хелех" (то же самое с 4 и 0 и 0 и 4). Кто-нибудь, пожалуйста, покажите мне, что не так, я нашел другое решение, и моя программа работает нормально, но что не так с этим кодом.

enter image description here

1 Ответ

0 голосов
/ 12 января 2019

Во время каждой итерации вы заменяете j-индексированный элемент строки (t [j]) на i-indexed (t [i]) в LINE 22 * ​​1002 * Это приводит к следующему:

До первого прохода:

т ==»привет»

т [у] ==»о»

т [я] ==»ч»

Пропуск 1: t [j] = ’h’

Prints ’h’

т ==»hellh»

т [я] ==»е»

Пропуск 2: t [j] = ’e’

Prints ’e '

т ==»heleh»

* +1032 * т [я] ==»л» * * тысяча тридцать-три

Ничего интересного не происходит после прохода 2, кроме того, что печатается остальная часть строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...