Си: проблема
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Си: проблема - 2004-08-08 02:07:04
|
|
|
lirq
Сообщений: 142
Оценки: 0
Присоединился: 2004-06-07 16:15:39
|
тут такая проблема, проде маленькая, а как решить, незнаю. Вот пример кода:
<BR>1.int main(void){<BR>2. char name[20];<BR>3.<BR>4. gets(name);<BR>5. if(name=="text") printf("u r k00l hacker:)");<BR>6.}<BR> проблема в 5 строчке: проверки не происходит! точнее может она и происходит, но неправильно. Если введешь "text", то условие не выполниться! Я уже долго немогу догнать, почему так происходит…в чем дело?
|
|
|
Си: проблема - 2004-08-08 17:18:46
|
|
|
alexei_II
Сообщений: 30
Оценки: 0
Присоединился: 2004-08-08 17:11:20
|
Сравнение надо делать с помощью функций для обраотки строк. В твоем случае strcmp. Возвращает ноль, если строки равны.
|
|
|
Си: проблема - 2004-08-13 12:26:49
|
|
|
_vitusik
Сообщений: 31
Оценки: 0
Присоединился: 2004-08-04 12:35:32
|
хмммм….да как тебе объяснить то?…. тут дело вобщем вот в чем. В языке С нет такого типа как строка. т.е. char i[10] это всего то массив в котором i это адрес нулевого элемента. То что в скобках это приращение к адресу. =================== 0 || 1 || 2 || 3 || индекс =================== G || O || O || D || данные =================== Вот теперь ты и подумай , чё и чему ты присваиваешь в операции if(array=="array"){} ЗЫ вот "array" это вообщето LPTSTR, ну это немного другое….
|
|
|
Си: проблема - 2006-06-14 14:21:04
|
|
|
MalыШ
Сообщений: 34
Оценки: 0
Присоединился: 2005-08-23 22:09:42
|
2 lirq if (name==0) по моему как ты написал так нельзя сравнивать![sm=em88.gif] давненько я на си не кодил[sm=5.gif] или strcmp как говорилось ранее [sm=2.gif] удачи!
|
|
|
|
|