Wrap text
#include
#define MAX_WORD_SIZE 100
int main() {
char *wordp[MAX_WORD_SIZE] = {NULL}, word[MAX_WORD_SIZE] = {'\0'};
int word_number;
void get_words_from_user(char word[], char *wordp[]);
void print_word(char word[], char *wordp[], int word_number);
get_words_from_user(word, wordp);
while(1) {
printf("Please enter word number to print:\n");
scanf("%d", &word_number);
print_word(word, wordp, word_number);
}
}
void get_words_from_user(char word[], char *wordp[]) {
char character, prev_character = ' ';
int placed_pointer_for_word = 0, pointer_index = 0, word_index = 0;
while(character = getchar()) {
if(character == '\n') {
break;
}
if(placed_pointer_for_word == 0) {
wordp[pointer_index] = &word[word_index];
pointer_index++;
placed_pointer_for_word = 1;
}
if(character == ' ') {
if(prev_character != ' ') {
word[word_index] = '\0';
word_index++;
placed_pointer_for_word = 0;
}
} else {
word[word_index] = character;
word_index++;
}
prev_character = character;
}
}
void print_word(char word[], char *wordp[], int word_number) {
if(word = wordp[word_number-1]) {
printf("%s\n", word);
} else {
printf("Word number %d doesn't exist!\n", word_number);
}
putchar('\n');
}