我作为输入传递给我的程序:"<param value=s/>"
我使用此代码:
char character[1];
sscanf(data, "<param value=%c/>", &character);
printf("%c", character);
然而输出似乎是“s /&gt;”而不只是“s”字符。 这有什么不对?
答案 0 :(得分:0)
您的代码是正确的,但您需要输出character[0]
:
printf("%c", character[0]);
您应该将地址运算符放在character
前面,因为sscanf()
期望参数类型为char *
而不是char (*)[1]
:
sscanf(data, "<param value=%c/>", character);
答案 1 :(得分:0)
char character[1]
可由char character
替换,同时修复您的错误。
如果您想将character
保留为数组,则必须使用&character[0]
或character
作为sscanf
参数,将character[0]
作为printf
作为{{1}} }参数。