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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2010, 17:57   #1
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию Сравнение строк

Суть программы в том ,что если вводится "test" пишется "yes",если нет"no",т.е. если есть совпадение с заложенной в программе строкой выводится да,в противном случае -нет
PHP код:
#include <stdio.h>
int main(){
    
char a[5],b[5]="test";
    
scanf("%s",&a);
    
printf("%s\n",a);
    if(
a==b)
        
printf("yes\n");
    else
        
printf("no\n");
    return 
0;

и еще массив b в данном случае просит на 1 ячейку больше,чем требуется,тоесть при b[4]="test"(4 ячейки-4 буквы) пишет не хватает места в массиве

В чем могут быть проблемы ?
Hemul вне форума Ответить с цитированием
Старый 19.11.2010, 18:11   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Код:
 
if(!strcmp(a,b)) 
      printf("yes\n"); 
else 
      printf("no\n");
counter вне форума Ответить с цитированием
Старый 19.11.2010, 18:12   #3
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Сравнение строк: strcmp
Код:
 if(a==b)
есть сравнение значений указателей, что вам в данном случае абсолютно не нужно.
Индексация в массивах начинается с нуля. Поэтому при
Код:
char c[5] = "test";
будет
Код:
c[0] == 't'
c[1] == 'e'
c[2] == 's'
c[3] == 't'
c[4] == '\0'
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 19.11.2010, 19:02   #4
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию

Цитата:
if(strcmp(a,b))
error C3861: strcmp: идентификатор не найден
теперь вот такое вылазит
Hemul вне форума Ответить с цитированием
Старый 19.11.2010, 19:56   #5
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

думаю надо подключть:
Код:
#include <string.h>
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 19.11.2010, 20:36   #6
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию

Цитата:
Сообщение от Roof Посмотреть сообщение
думаю надо подключть:
Код:
#include <string.h>
спасибо ,заработало
Hemul вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение строк в С++ Китти Общие вопросы C/C++ 2 12.10.2010 16:56
Сравнение строк Dasharnb777 Общие вопросы .NET 5 22.09.2010 20:46
Макрос на сравнение и подсчет в первом столбце строк, и сумирование значений этих строк в другом столбце Shpr0T Microsoft Office Excel 8 30.08.2010 17:52
Сравнение строк Jasper92 Общие вопросы C/C++ 6 23.12.2009 12:49
Сравнение строк Rivendell Microsoft Office Excel 8 18.12.2009 10:29