Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 18.09.2014
Сообщений: 6
1

Операторы if и char - Multi-character character constant

24.09.2014, 18:51. Просмотров 1488. Ответов 5
Метки нет (Все метки)

Здравствуйте я мало нашёл информации о работе if с char, вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
int main()
 
{
 
char a[10];
 
cout << "Здарова, что скажешь?"<<endl;
 cin >> a;
 
 if (*a == 'Hi') {
cout << "Пшёл вон, пиндос!"<<endl;
} else {
  cout.setf(ios::right);
  cout.width(50);
cout << "И тебе не хворать"<<endl;
  cout.unsetf(ios::right);
}
}
Вот ошибка что выдаёт при компилировании:
Pascal
1
2
warning: multi-character character constant [-Wmultichar]
  if (*a == 'Hi') {
Что вы можете мне подсказать, я прошу вас помощи...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.09.2014, 18:51
Ответы с готовыми решениями:

[Warning] multi-character character constant
#include &lt;iostream&gt; using namespace std; class toolBooth { private: unsigned int car;...

multi-character character constant
Привет! Я решил написать виселицу на С++ для консоли. И у меня вылетает ошибка multi-character...

[Warning] character constant too long for its type
Подскажите, пожалуйста, что я не так сделал? Выдает ошибки, что &quot; character constant too long for...

Error: Unresolved external 'character::character(int)'
Error: Unresolved external 'character::character(int)' referenced from...

5
Эксперт С++
4962 / 3068 / 456
Регистрация: 10.11.2010
Сообщений: 11,159
Записей в блоге: 10
24.09.2014, 18:54 2
Лучший ответ Сообщение было отмечено ToniDev как решение

Решение

C++
1
if ( !strcmp( a, "Hi" ) ) {
1
311 / 283 / 201
Регистрация: 21.02.2013
Сообщений: 675
24.09.2014, 18:58 3
Лучший ответ Сообщение было отмечено ToniDev как решение

Решение

if (strcmp(a, "Hi")==0)
1
0 / 0 / 0
Регистрация: 18.09.2014
Сообщений: 6
24.09.2014, 19:04  [ТС] 4
ОБьясните пожалуйста, почему так ?
0
Эксперт С++
4962 / 3068 / 456
Регистрация: 10.11.2010
Сообщений: 11,159
Записей в блоге: 10
24.09.2014, 19:10 5
Лучший ответ Сообщение было отмечено ToniDev как решение

Решение

Потому, что a - это указатель, и ты не можешь просто взять и сравнить его со строковым/символьным литералом.
Тут помогут либо функции рода strcmp, либо std::string из STL.
1
0 / 0 / 0
Регистрация: 18.09.2014
Сообщений: 6
24.09.2014, 19:41  [ТС] 6
Благодарю вас всех, друзья.
castaway, jurok_85.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.09.2014, 19:41

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Вылезает: [Warning] character constant too long for its type
#include &lt;iostream&gt; #include&lt;conio.h&gt; #include&lt;math.h&gt; using namespace std; int main() { int...

[C++ Error] Unit1.cpp(9): E2129 Character constant too long (or empty)
Ошибка : Unit1.cpp(9): E2129 Character constant too long (or empty) Указывает на ...

Не могу исправить ошибку(error C2137: empty character constant)
задание найти с помощью функции максимальный и минимальный элемент массива размерностью m*n и...

Отключить предупреждение (character constant too long for its type [enabled by default])
Компилятор mingw32 пишет предупреждение: character constant too long for its type if...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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