- #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++;
- }
- }
- }
- }
- }
復制代碼
|