我试图在 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
}
最佳答案
printf("%s"
需要一个 string ,它被定义为一系列字符后跟一个空字符。您没有提供空字符.
要解决此问题,请在 printf
之前执行 pred[count] = 0;
。
关于c - 字符串文字未正确打印出来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23285734/