为什么当我输入第一个单词并且不循环返回时该程序结束

时间:2019-05-20 12:01:11

标签: c while-loop

我想一次又一次地使程序循环,直到我键入结束词****TELOS

/* 1 */  int text_input();

int main() {
    int number;

        text_input();

        return 0;
}


int text_input(char words[M][N]){
    int l=0; /*lines, also how many words the text has */

    char a;
    int i=0;

    printf("Enter the text. (****TELOS for stoping)"); 
    char endword[10];
    strcpy(endword, "****TELOS");            
    char temp[N];    

    while(1){   
        while(1) {
            a = getchar();

            if (a =='\n'){
                if(strcmp(temp, "") == 0){
                    continue;
                }
                else{
                break;
                }   
            }


            else if (a == ' '){
                if(strcmp(temp, "") == 0){
                    continue;    
                }
                else{
                    break;
                }
            }

            else {
                temp[i++] = a;
            }

        }

        if (strcmp(temp, endword) == 0){
            break;
        }
        else{
            strcpy(words[l++],temp);
            memset(temp, ' ', strlen(temp));
        }
    }



   return 0; 
}

1 个答案:

答案 0 :(得分:0)

我认为您的代码无法正常工作,因为您没有将每个结尾词设置为0 所以你的代码应该是这样的

GroupId