阵列变异C

问题描述

我想按单词标记一个字符串(使用“”作为分隔符),并将单词存储在另一个数组中(如果它是唯一的)。 但是,我得到的行为是这些词变得不确定。我在这里做什么错了?

    int wordCount = 0;
    char wordArray[wordCount+1][256];
    int wordCountArray[wordCount+1];

    char storedInputTemp[strlen(storedInput)];
    strcpy(storedInputTemp,storedInput);

    const char s[2] = " ";
    char *token;
    token = strtok(storedInputTemp,s);

    while( token != NULL ) {
        //check if is recorded
        int duplicate = 0;
        for(int j = 0; j < wordCount+1; ++j){
                if(strcmp(token,wordArray[j]) == 0){
                    ++wordCountArray[j];
                    ++duplicate;
                    break;
                }
        }
        //UNRECORDED / not duplicate
        if(duplicate < 1){
            printf("UNIQEUE WORD: ");
            char wordcopy[strlen(token)+1];
            strcpy(wordcopy,token);
            strcpy(wordArray[wordCount],wordcopy);
            wordCountArray[wordCount] = 1;
            printf("%s\n",wordArray[wordCount]);

            for(int i = 0; i < wordCount+1; ++i){
                printf("#%d: %s\n",i,wordArray[i]);
            }
            ++wordCount;
        }
        //end sequence
        token = strtok(NULL,s);
    }```

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)