Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/35: Рейтинг темы: голосов - 35, средняя оценка - 4.89
45 / 45 / 40
Регистрация: 31.08.2015
Сообщений: 147
1

Приравнивание/Сравнение переменных типа char

31.08.2015, 14:37. Показов 6711. Ответов 11
Метки нет (Все метки)

Вообщем, есть такой вопрос, мне нужно приравнять в условии одну переменную типа char к какому нибудь тексту, или другой переменной. Я знаю что есть сравнение строк , с помощью strlen(), но мне нужно приравнять две строки. С символами получается просто вот так :
C
1
2
3
4
5
6
7
8
int main()
{
    char a;
    a = 'L';
    if(a == 'L') {
        puts("Work");
    }
}
Но я хочу тоже самое со словом/строкой. Заранее благодарю
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.08.2015, 14:37
Ответы с готовыми решениями:

Массив: Распределить элементы массива среди трех переменных типа char
Добрый день, помогите , есть массив чисел: char arr =...

Const char нельзя присвоить сущность типа char
Здравствуйте! Начинаю изучать Си И вот у меня немного не получается написать свою первую...

Преобразование массива типа char в массив типа float
Хорош ли следующий способ преобразования массива типа char в массив типа float? #include...

"const char *" нельзя использовать для инициализации сущности типа "char"
/* /* Написать программу, которая показывает реальное время в выбранных городах мира. Программа...

11
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11032 / 6984 / 1651
Регистрация: 25.07.2009
Сообщений: 12,739
31.08.2015, 15:56 2
Цитата Сообщение от IVAN1234 Посмотреть сообщение
Я знаю что есть сравнение строк , с помощью strlen(), но мне нужно приравнять две строки.
strlen() возвращает длину строки.
strcmp() сравнивает две строки.
strcpy() копирует строки.
0
45 / 45 / 40
Регистрация: 31.08.2015
Сообщений: 147
31.08.2015, 16:21  [ТС] 3
Ну ошибся, прошу прощения.
0
5 / 5 / 6
Регистрация: 12.08.2015
Сообщений: 26
31.08.2015, 16:41 4
Проще не бывает:
C
1
2
3
4
5
6
7
8
9
10
11
int main()
{
    char* s1 = "hello";
    char s2[] = {'h', 'e', 'l', 'l', 'o', '\0'};
    if (strcmp(s1, s2) == 0)
        puts("s1 == s2");
    else if (strcmp(s1, s2) < 0)
        puts("s1 < s2");
    else if (strcmp(s1, s2) > 0)
        puts("s1 > s2");
}
http://www.cplusplus.com/refer... ?kw=strcmp
0
45 / 45 / 40
Регистрация: 31.08.2015
Сообщений: 147
31.08.2015, 16:50  [ТС] 5
А если мне надо использовать функцию scanf, то есть если то что я ввёл будет равняться значению переменной s1?
0
5 / 5 / 6
Регистрация: 12.08.2015
Сообщений: 26
31.08.2015, 17:23 6
У вас считать строку не получается?
0
45 / 45 / 40
Регистрация: 31.08.2015
Сообщений: 147
31.08.2015, 17:28  [ТС] 7
Строка то считывается, а вот по условию программа не следует.
0
5 / 5 / 6
Регистрация: 12.08.2015
Сообщений: 26
31.08.2015, 17:34 8
Тогда интересно, как вы считываете строку. Скорее всего, в этом месте ошибка.
Ну и вот рабочий пример.
C
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
    char s1[256];
    char s2[] = {'h', 'e', 'l', 'l', 'o', '\0'};
    scanf("%s", s1);
    if (strcmp(s1, s2) == 0)
        puts("s1 == s2");
    else if (strcmp(s1, s2) < 0)
        puts("s1 < s2");
    else if (strcmp(s1, s2) > 0)
        puts("s1 > s2");
}
1
45 / 45 / 40
Регистрация: 31.08.2015
Сообщений: 147
31.08.2015, 17:39  [ТС] 9
Благодарю.
0
2622 / 2210 / 237
Регистрация: 03.07.2012
Сообщений: 7,980
Записей в блоге: 1
31.08.2015, 20:24 10
Интересно, зачем надо трижды вызывать функцию сравнения?
0
5 / 5 / 6
Регистрация: 12.08.2015
Сообщений: 26
01.09.2015, 06:42 11
Просто для наглядности.
0
0 / 0 / 0
Регистрация: 01.09.2015
Сообщений: 2
11.02.2017, 03:24 12
Спасибо

Добавлено через 1 минуту
testuser, спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.02.2017, 03:24

Сравнение переменных
Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной...

Не работает сравнение переменных
Добрый вечер,почему я не могу в конце приравнять LiczbaNaturalna к AddElementow? #include...

Сравнение двух строк в переменных
Здравствуйте, меня интересует 1 вопрос - почему происходит так, как происходит?) Если мы...

Получить из переменной типа uint32_t* переменную типа char*
Всем добрый день. Помогите получить из переменной типа uint32_t* переменную типа char*. Заранее...


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

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

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