Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2010, 17:23   #1
slim>>>
Пользователь
 
Аватар для slim>>>
 
Регистрация: 10.10.2009
Сообщений: 58
По умолчанию Объясните! (С++)

Друзья,объясните пожалуйста часть кода!

Прога ищет по имени.

Код:
#include <iostream>
using namespace std;


struct Name
{
	char name[4][256];

}k = {"andrey","vadim","erik","vasya"}; 


int main()
{

char p[256];

scanf("%255s", p, 256);

	for(int i=0; i<4; i++)
		if (strcmp(p, k.name[i]) == 0)   <-------- что это значит strcmp , что это такое (p, k.name[i]) == 0) как читается и почему не так  (p==k.name[i]) ?
			printf("%s", k.name[i]);

}
Учусь программировать
slim>>> вне форума Ответить с цитированием
Старый 16.03.2010, 17:29   #2
Грымзик
Пользователь
 
Регистрация: 17.09.2009
Сообщений: 40
По умолчанию

Нельзя в Си строки так сравнивать p==k.name[i]. Функция strcmp как раз этим и занимается. И выполняется проверка не (p, k.name[i]) == 0, а именно strcmp(p, k.name[i]) == 0, поэтому что функция возвращает ноль только в случае совпадения строк.
Грымзик вне форума Ответить с цитированием
Старый 16.03.2010, 17:44   #3
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

strcmp это ф-я сравнения двух строк
Код:
p==k.name[i]
так можно сравнивать строки типа std::string
NiCola999 вне форума Ответить с цитированием
Старый 16.03.2010, 19:26   #4
slim>>>
Пользователь
 
Аватар для slim>>>
 
Регистрация: 10.10.2009
Сообщений: 58
По умолчанию

Всем спасибо!!!!!!!!!!
Учусь программировать
slim>>> вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объясните Alexsssandr Помощь студентам 2 17.02.2010 20:50
C++ (объясните!) slim>>> Помощь студентам 7 27.01.2010 19:39
Объясните Sergo(1) Помощь студентам 2 10.05.2009 22:46
Объясните!!! Dawystrik Общие вопросы Delphi 1 20.03.2009 12:07
объясните, пожалуйста brainstorm Помощь студентам 10 14.10.2008 23:49