printf没有从scanf读取的东西

时间:2016-02-24 04:12:34

标签: c

scanf可以读取最佳带符号的十进制,八进制或十六进制输入,但printf无法输出所述读取输入?或者是否有一些其他说明者我不知道并且没有使用。

示例代码

scanf("%i", &x);     //enter 0150 (octal)                     
printf("%i ",x);     //outputs 104(decimal)

4 个答案:

答案 0 :(得分:2)

是的,还有另一个说明符。你应该读作字符串并写下你读到的内容,准确写下你所读的内容。

char x[100];
scanf("%99s", x);
printf("%s ", x);

答案 1 :(得分:0)

点击此处,printf无法识别"%i"和"%d"分别。但它在scanf中被识别出来。 也请在下次正确写下问题:)

这些链接可以帮助您 -

  1. Difference between format specifiers %i and %d in printf

  2. Octal to Decimal in C

  3. http://www.tutorialspoint.com/cprogramming/c_type_casting.htm

答案 2 :(得分:0)

猜猜没有说明者可以做什么%我可以在scanf做什么,我不确定是否有一个但是ichan确认没有一个

答案 3 :(得分:-1)

您可能会发现此引用对您有用:

<强>的printf
http://www.cplusplus.com/reference/cstdio/printf/ printf

<强> scanf的
http://www.cplusplus.com/reference/cstdio/scanf/ scanf

修改
没有单一的说明符,一种尺寸适合所有。您应该知道要打印的内容,并使用特定的说明符来完成工作。