Не работает сравнение строк - C (СИ)
Формулировка задачи:
Подскажите пожалуйста, почему не работает строка с условием ? (ввожу в консоли end, проверка условия не срабатывает)
Код
Листинг программы
- if (str == "end") puts("Введено end");
Листинг программы
- #include "stdafx.h"
- #pragma warning(disable:4996)
- #include <locale.h>
- int _tmain(int argc, _TCHAR* argv[])
- {
- setlocale(LC_ALL, "");
- char str[80];
- puts("Введите end");
- scanf("%s", str);
- if (str == "end") puts("Введено end");
- return 0;
- }
Решение задачи: «Не работает сравнение строк»
textual
Листинг программы
- for(i=0; password[i]; i++)
Объяснение кода листинга программы
- Переменная
i
инициализируется значением 0. - Условие цикла
for
проверяет наличие символа в строкеpassword
. Если символ присутствует, то выполняется тело цикла, иначе цикл завершается. - В теле цикла происходит увеличение значения переменной
i
на единицу. - В данном случае не указано, что происходит с переменной
password
внутри цикла, поэтому предполагается, что она остается неизменной. - Код не содержит инструкций для проверки или обработки ошибок, поэтому предполагается, что он работает только в предположении, что все символы в строке
password
присутствуют и являются допустимыми для обработки в данном контексте. - Код не содержит инструкций для вывода информации на экран или в файл, поэтому предполагается, что он не предназначен для отображения результатов работы.
- Код не содержит инструкций для изменения значения переменной
password
внутри цикла, поэтому предполагается, что он не предназначен для изменения исходной строкиpassword
. - Предполагается, что данный код используется в контексте более крупной программы, и его задача связана с обработкой строки
password
. - Не указано, какая операционная система или компилятор используется для выполнения данного кода.
- Не указаны возможные значения или ограничения для переменной
password
. - Не указаны возможные значения или ограничения для переменной
i
. - Не указаны возможные значения или ограничения для символов в строке
password
. - Не указаны возможные действия, которые должны быть выполнены при наличии символа в строке
password
. - Не указаны возможные действия, которые должны быть выполнены при отсутствии символа в строке
password
. - Не указаны возможные действия, которые должны быть выполнены после завершения цикла.
- Не указаны возможные действия, которые должны быть выполнены при возникновении ошибки во время выполнения цикла.
- Не указаны возможные действия, которые должны быть выполнены при завершении цикла без выполнения всех итераций.
- Не указаны возможные действия, которые должны быть выполнены при достижении переменной
i
значения, превышающего длину строкиpassword
. - Не указаны возможные действия, которые должны быть выполнены при отсутствии строки
password
. - Не указаны возможные действия, которые должны быть выполнены при наличии пустой строки
password
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д