0

该任务可以在这里找到:http ://www.talentbuddy.co/challenge/51846c184af0110af3822c32

我关于这个任务的程序如下:

#include <stdio.h>
#include<string.h>

void tokenize_query(char *query, char *punctuation) {

    int i,j,ok=1,k,t;
    char x[1000];

    for(i=0;i<strlen(query);i++)
    {
        ok=1;
        for(j=0;j<strlen(punctuation);j++)
        {
            if(query[i]==punctuation[j] || query[i]==' ')
                ok=0;   
        }

        if(ok!=0)
        {
            x[k]=query[i];
            k++;
        }

        else {

            for(t=0;t<k;t++)
            {
                printf("%c",x[t]);
            }

            k=0;
            printf("\n");

        }

    }

}
4

1 回答 1

5

k在行中未初始化

x[k]=query[i];

所以你可能会尝试在分配给x.

k最简单的解决方法是在声明它时进行初始化

int i,j,ok=1,k=0,t;
//            ^^
于 2013-11-04T21:48:05.697 回答