Я застреваю в этой части упражнения. Что мне нужно сделать, это создать функцию вызова skipWords (), которая принимает строку и целое число в качестве аргументов. Эта функция должна возвращать указатель на подстроку предложения.
например, если этот параметр имеет значение 0, должен быть возвращен указатель, указывающий на начало строки (то есть слова не пропускаются). Если параметр имеет значение 1, должен быть возвращен указатель на второе слово (пропущено одно слово) и т. Д. Эта функция не может ничего печатать и не может принимать от меня никаких данных.
Это мой код:
#include<stdio.h>
#include<strings.h> // We include this library to manipulate text strings.
#include<ctype.h>
#define SIZE 200
void printFirstWord(char sentence[], char *pointer[])
{
int i,j=1;
for(i=1;sentence[i]!='\0';i++)
{
pointer[0]=&sentence[0];
if(isalpha(sentence[i]))
{
if(!(isalpha(sentence[i-1])))
pointer[j]=&sentence[i];
j++;
}
}
for(i=0;pointer[i]!=NULL;i++)
{
printf("Word number %d: ", i);
while(*pointer[i]!= ' ' && *pointer[i]!='\0')// This will print each character until it reaches a space or the end of the array.
{
printf("%c",*pointer[i]);
*pointer[i]++;
}
printf("\n");
}
}
void skipWords(char sentence[],int words)
{
int i;
char *pointer[SIZE]={NULL};
for(i=0;pointer[i]!=NULL;i++)
{
if()
}
}
int main(void)
{
int i=0;
char answer='y';
char *pointer[SIZE]={NULL};
char sentence[SIZE]={};
while(answer=='y')
{
printf("Write a sentence: ");
gets(sentence);
printFirstWord(sentence, pointer);
printf("Enter another sentence (y/n)? ");
scanf("%c%*c",&answer);
}
return 0;
}
Я не знаю, как запустить эту новую функцию.