- #include <stdio.h>
- #include <ctype.h>
- #define MAXSIZE 81
- void fgetsnword(char word_arr[MAXSIZE][MAXSIZE],char input_string[],int n);
- int main(void)
- {
- int n;
- char input_string[MAXSIZE];
- // char* word_arr[MAXSIZE];
- char word_arr[MAXSIZE][MAXSIZE];
- while(1)
- {
- printf("请输入一行字符串,单词间用空格分开!\n");
- fgets(input_string,MAXSIZE,stdin);
- printf("您输入的字符串是%s \n",input_string);
- printf("请输入你想提取的单词个数!\n");
- while(scanf("%d",&n)!=1)
- {
- printf("输入错误,请重新输入:\n");
- getchar();
- }
- fgetsnword(word_arr,input_string,n);
- printf("提取出每一个单词如下:\n");
- for(int i=0;i<n;i++)
- {
- puts(word_arr[i]);
- }
- }
-
- return 0;
- }
- void fgetsnword(char word_arr[MAXSIZE][MAXSIZE],char input_string[],int n)
- {
- int i=0,j=0,k;
- while(input_string[i]!='\0'||j>=n)
- {
- for(;i<MAXSIZE;)
- {
- for(;j<n;j++)
- {
- for(k=0;k<MAXSIZE;i++)
- {
- if(isspace(input_string[i])) <-----------------每次到这里就会出错,请问是什么原因啊???
- continue;
-
- word_arr[j][k] = input_string[i];
- k++;
- }
- }
- }
- }
- }
复制代码
|