Не работает сравнение строк - 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
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д