0

私は自分のプログラムに入力として渡しています:"<param value=s/>"

私はこのコードを使用します:

char character[1];
sscanf(data, "<param value=%c/>", &character);
printf("%c", character);

ただし、出力は「s」文字だけではなく「s/>」のようです。ここで何が問題なのですか?

4

2 に答える 2

0

あなたのコードは正しいですが、出力する必要がありますcharacter[0]:

printf("%c", character[0]);

の前にアドレス演算子をドロップする必要がありますがcharactersscanf()タイプの引数ではchar *なくchar (*)[1]:

sscanf(data, "<param value=%c/>", character);
于 2009-10-03T23:10:37.003 に答える
0

char character[1]に置き換えることができchar character、同時にバグを修正できます。

character配列として保持する場合は、 &character[0]orcharactersscanf引数として、および引数character[0]として使用する必要がありprintfます。

于 2009-10-03T23:14:58.573 に答える