Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 28.12.2011
Сообщений: 11
1

Разбираемся в программе

29.12.2011, 20:28. Показов 704. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня была задача: разработать функцию, которая выделяет первое слово из строки.
Нашел вот такой текст программы, который выделяет первое слово из строки(что и требовалось). Помогите разобраться, как она это делает.
PS. для начала хотел бы разобрать что такое s и p и с этими 3мя строками:
C
1
2
3
        for ( p = s; *p == ' ' || *p == '\t' || *p == '\n'; ++p );
        for ( s = p; *p != ' ' && *p != '\t' && *p != '\n' && *p != '\0'; ++p ); 
        if ( !fgets(buf, MAX_STR, stdin) )
текст программы:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
/*      
обрезает строку по первому слову 
*/
char *firstWord(char *s){
        char *p;
        for ( p = s; *p == ' ' || *p == '\t' || *p == '\n'; ++p );
        for ( s = p; *p != ' ' && *p != '\t' && *p != '\n' && *p != '\0'; ++p );
        *p = '\0';
        return s;
}
#define MAX_STR 128
int main(void){
char buf[MAX_STR];
printf("String: ");
if ( !fgets(buf, MAX_STR, stdin) )
return 1;
printf("First word: \"%s\"\n", firstWord(buf));
getchar();
return 0;
}
 Комментарий модератора 
Используйте теги форматирования кода!


PS. вот что я понял:
char buf [MAX_STR] - читаем заголовок.
String - класс, предназначенный для работы со строками.
stdin - зарегестрирован для чтения команд пользователя или входных данных(чтение с клавиатуры).
char - символьный тип. Так как в Си нет примитивных типов для работы со строками, поэтому для работы с ними используется указатель char *.
return s - возвращает значение s.
fgets - читает строку из потока stream и располагает ее в String.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.12.2011, 20:28
Ответы с готовыми решениями:

Разбираемся в условии
помогите решить , или хотя бы понять способ решения данных задач: 1) Определить радиус и центр...

разбираемся с потоками
добрый вечер всем начинаю потихоньку разбираться с потоками...есть такая задача - у меня есть...

Разбираемся с SourceGrid
Доброго времени суток бойцы, делал проект с DataGridView , но потребовалась сложная шапка , решил...

Разбираемся с массивами
$plugins = array( array( &quot;plugin&quot; =&gt; &quot;AdminList&quot;, &quot;description&quot; =&gt; &quot;Показывает...

0
29.12.2011, 20:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.12.2011, 20:28
Помогаю со студенческими работами здесь

Разбираемся с показательным распределением
Понадобилось тут вспомнить молодость, да посчитать всякое для показательного распределения (\lambda...

Разбираемся с файлами интерфейса
Всем привет! Помогите разобраться- начал разбираться с XCode, учусь по книге разработка приложения...

Разбираемся с новичком в видеокартах
Всем привет ребят,у меня есть несколько вопросов для вас. Недавно читал,как выбрать видеокарту и...

Завалил тест, разбираемся с ошибками
Парни сдавал тест состоящий из 40 вопросов, и ответил только на 24 правильно ( Тестирование...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru