字符串文字不能正确打印出来

时间:2014-04-25 06:31:21

标签: c string struct

我正在尝试在C中构建一个字符串,然后将该字符串存储在结构中。然而,当我构建我的字符串并将其打印出来进行测试时,我会在正确的字符串后获得额外难以理解的字符。任何建议都会很棒。

我的代码

typedef struct
{
    char *context;
    int numOnes;
    int numZeros;


}Pattern;
void getPrediction(int t,int *stream){
    int end = beg;
    int count = 0;
    char *pred, str[t+1];
    pred = str;
    int n = t;
    while(count<t){
        //printf("%d\n", stream[end]);
        if(stream[end] == 1){
            pred[count]= '1';
        }
        else{
            pred[count]='0';
        }
        end--;
        n--;
        count++;
    }
    printf("%s\n",pred);
    beg--;
    Pattern newPat={pred,1,0}; //testing purposes
    printf("%s\n",newPat.context); //testing purposes
}

1 个答案:

答案 0 :(得分:4)

printf("%s"需要一个字符串,它被定义为一系列字符后跟一个空字符。你没有提供空字符。

要解决此问题,请在pred[count] = 0;之前printf