Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Си: проблема

Пользователи, просматривающие топик: 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==&quot;text&quot;) printf(&quot;u r k00l hacker:)&quot;);<BR>6.}<BR>
проблема в 5 строчке: проверки не происходит! точнее может она и происходит, но неправильно. Если введешь "text", то условие не выполниться! Я уже долго немогу догнать, почему так происходит…в чем дело?
Post #: 1
Си: проблема - 2004-08-08 17:18:46   
alexei_II

Сообщений: 30
Оценки: 0
Присоединился: 2004-08-08 17:11:20
Сравнение надо делать с помощью функций для обраотки строк.
В твоем случае strcmp. Возвращает ноль, если строки равны.
Post #: 2
Си: проблема - 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, ну это немного другое….
Post #: 3
Си: проблема - 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] удачи!
Post #: 4
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Си: проблема







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.