Не работает сравнение строк - 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++)

Объяснение кода листинга программы

  1. Переменная i инициализируется значением 0.
  2. Условие цикла for проверяет наличие символа в строке password. Если символ присутствует, то выполняется тело цикла, иначе цикл завершается.
  3. В теле цикла происходит увеличение значения переменной i на единицу.
  4. В данном случае не указано, что происходит с переменной password внутри цикла, поэтому предполагается, что она остается неизменной.
  5. Код не содержит инструкций для проверки или обработки ошибок, поэтому предполагается, что он работает только в предположении, что все символы в строке password присутствуют и являются допустимыми для обработки в данном контексте.
  6. Код не содержит инструкций для вывода информации на экран или в файл, поэтому предполагается, что он не предназначен для отображения результатов работы.
  7. Код не содержит инструкций для изменения значения переменной password внутри цикла, поэтому предполагается, что он не предназначен для изменения исходной строки password.
  8. Предполагается, что данный код используется в контексте более крупной программы, и его задача связана с обработкой строки password.
  9. Не указано, какая операционная система или компилятор используется для выполнения данного кода.
  10. Не указаны возможные значения или ограничения для переменной password.
  11. Не указаны возможные значения или ограничения для переменной i.
  12. Не указаны возможные значения или ограничения для символов в строке password.
  13. Не указаны возможные действия, которые должны быть выполнены при наличии символа в строке password.
  14. Не указаны возможные действия, которые должны быть выполнены при отсутствии символа в строке password.
  15. Не указаны возможные действия, которые должны быть выполнены после завершения цикла.
  16. Не указаны возможные действия, которые должны быть выполнены при возникновении ошибки во время выполнения цикла.
  17. Не указаны возможные действия, которые должны быть выполнены при завершении цикла без выполнения всех итераций.
  18. Не указаны возможные действия, которые должны быть выполнены при достижении переменной i значения, превышающего длину строки password.
  19. Не указаны возможные действия, которые должны быть выполнены при отсутствии строки password.
  20. Не указаны возможные действия, которые должны быть выполнены при наличии пустой строки password.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.286 из 5
Похожие ответы