Помощь - Поиск - Пользователи - Календарь
Полная версия: Работа со строками
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
zloy_pes
Помогите пожалуйста - в C полный ноль sad.gif Нужно написать такую программу:
Вводится строка, слова разделяются пробелами. Нужно сформировать массив указателей на слова в строке и заменить пробелы на 0 (конец строки).
И еще вопрос - char *M[] - указатель на массив или массив указателей?
volvo
Цитата
Нужно сформировать массив указателей на слова в строке и заменить пробелы на 0 (конец строки).
То есть, ты хочешь таким образом получить массив слов из массива символов? Это именно так требуется по заданию, или тебе нужно просто парсить строку?

Если нужен именно парсинг - то в С есть очень интересная вещь: strtok называется...
zloy_pes
Нет - так по заданию надо sad.gif
volvo
Ну, попробуй так:
#include <stdio.h>

int main() {
char s[256], *p, *words[50];
int i, count = 0;
gets(s);

for(p = s; *p; ) {
words[count++] = p;
while(*p++ != (char)32 && (*p));

if(*p) *(p - 1) = '\0';
}

for(i = 0; i < count; ++i)
puts(words[i]);
return 0;

}
zloy_pes
Да, оно. Спасибо, volvo.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.