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]);

但是,您应该将地址运算符放在 前面character,正如sscanf()预期的类型参数char *而不是char (*)[1]

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

char character[1]可以替换为char character,同时修复您的错误。

如果要保留character为数组,则必须使用&character[0]orcharacter作为sscanf参数,并character[0]作为printf参数。

于 2009-10-03T23:14:58.573 回答