1

Cでは、私は次のことを行います。

char* buffer=p->content;       // p is a struct type and content is a char*
printf("buffer:%s\n",buffer);  

私の出力はこれです:

@uffer: �@��^��0z

なぜ�@��^��0zを取得するのかはよくわかりませんが、mypointerを誤ってインクリメントすることに関係しているのではないかと思います。

私の主な質問は、「b」が「@」記号に変換されるのはなぜですか????????

4

2 に答える 2

2

メンポリーbufferが指しているように見えますが、初期化されていないため、ランダムなデータを取得しています。

あなたは本当にどこp->contentから来たのか(設定されている)を私たちに示す必要があります。

于 2012-09-28T01:49:34.510 に答える
2

偶然に印刷しているガベージデータには、キャリッジリターンと呼ばれるラインプリンタ制御文字が含まれています。これは、ディスプレイデバイスがカーソルを行の先頭に移動するコマンドとして解釈しています。次に、@文字が発生すると、出力の最初の文字が上書きされます。

于 2012-09-28T02:02:12.877 に答える