1 / 1 / 0
Регистрация: 25.04.2015
Сообщений: 41
|
|
1 | |
Почему два char нельзя сравнивать так ==?27.04.2015, 12:33. Показов 4041. Ответов 12
Метки нет (Все метки)
0
|
27.04.2015, 12:33 | |
Ответы с готовыми решениями:
12
Почему нельзя заменить char на int в коде данной сортировки? Нельзя сравнивать два типа (Т1 и Т1), как это исправить? Почему в TASM нельзя сравнивать память-память? FindComponent. Почему так нельзя? |
0 / 0 / 0
Регистрация: 27.04.2015
Сообщений: 3
|
||||||
27.04.2015, 12:37 | 4 | |||||
Прекрасно сравнивается.
0
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
27.04.2015, 12:38 | 5 |
Потому что можно.
Но скорее всего речь должна идти о char* (т.е. указателе на символ). При сравнении двух строк, представленных указателями на первый символ и заканчивающихся нулевым символом (так называемые "сишные строки"), нужно использовать функцию типа strcmp(). При сравнении через == будет производиться сравнение АДРЕСОВ первых символов, а не самих строк. Не по теме: P.S. При формулировке вопроса советую описывать задачу более полно, т.к. ясновидящих тут нет.
0
|
Форумчанин
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
27.04.2015, 12:42 | 7 |
0
|
1 / 1 / 0
Регистрация: 25.04.2015
Сообщений: 41
|
||||||
27.04.2015, 13:07 [ТС] | 9 | |||||
Я имею в виду массив символов. Вместо == я юзаю strcmp. Но почему нельзя ==? char[10] на подобии string.
0
|
Котовчанин
|
|
27.04.2015, 13:09 | 10 |
Сообщение было отмечено Novichock123 как решение
Решение
Novichock123, потому что strcmp сравнивает строки, чем являются массивы чаров. А так Вы пытаетесь сравнить два указателя на массив.
2
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
27.04.2015, 13:29 | 13 |
Если уж быть точным, то char* - это указатель на символ.
А указывает ли он на элемент массива или си-строки - уже частности, которые могут как выполняться, так и нет.
1
|
27.04.2015, 13:29 | |
27.04.2015, 13:29 | |
Помогаю со студенческими работами здесь
13
Почему нельзя сделать так? Почему предел нельзя определить так Объясните, почему так нельзя делать? Почему нельзя так объявить двумерный массив? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |