Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.63
hitytu
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 46
#1

strcmp() - C++

02.11.2010, 15:23. Просмотров 1980. Ответов 3
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
 
int main()
{
    setlocale(LC_CTYPE, "Rus");
  char s[80];
 
  for(;;) {
    cout << "введите строку: ";
    gets(s);
    if(!strcmp("выход", s)) break;
  }
  system ("PAUSE");
  return 0;
}
здесь s не равно "выход", так почему программа срабатывает если ввести "выход", ведь функция при не совпадении должна выдавать ложь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2010, 15:23     strcmp()
Посмотрите здесь:

strcmp C++
C++ функция strcmp
Баг strcmp C++
C++ strcmp не работает!
функция strcmp C++
C++ Функция strcmp
C++ STRCMP
strcmp C++
C++ Функция strcmp
C++ strcmp
C++ Не работает strcmp
Strcmp C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9455 / 5468 / 927
Регистрация: 25.07.2009
Сообщений: 10,493
02.11.2010, 15:27     strcmp() #2
Цитата Сообщение от hitytu Посмотреть сообщение
ведь функция при не совпадении должна выдавать ложь.
С какого перепуга? Функция int strcmp(const char *, const char *) возвращает 0, если строки одинаковые, отрицательное число, если первая строка лексикографически меньше, и положительное, если больше...
RTFM
hitytu
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 46
02.11.2010, 15:32  [ТС]     strcmp() #3
Цитата Сообщение от easybudda Посмотреть сообщение
С какого перепуга? Функция int strcmp(const char *, const char *) возвращает 0, если строки одинаковые, отрицательное число, если первая строка лексикографически меньше, и положительное, если больше...
RTFM
А понял. просто я думал что надо написать в скобках "выход" "выход" А почему в коде нет
C++
1
cin>>
?
Dzhej-Dzhej
Заблокирован
02.11.2010, 15:36     strcmp() #4
потому, что есть
C++
1
gets(s);
в разных библиотеках используются разные функции ввода-вывода
Yandex
Объявления
02.11.2010, 15:36     strcmp()
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru