据我所知,%n =“相关参数的使用是一个指向整数的指针,其中放置了迄今为止写入的字符数。 我正在使用 win 8,codeblocks IDE。我尝试了一个应该打印至少 15 个字符的程序。但它只显示8。我已经重新启动了程序,甚至计算机,但结果是一样的。
我也是从命令行编译它的。
下面给出了代码片段。
已上传结果快照。
首先输出没有随机数。
#include<stdio.h>
int main(void)
{
int i;
printf("%d %f \n%n",100, 123.23, &i);
printf("%d characters is so far.",i);
return 0;
}
最佳答案
此问题是 Windows 特有的,它源于 Windows 的 C 库出于安全原因禁用 %n
说明符。
要绕过此问题,请转到设置 -> 编译器
,然后在全局编译器设置
中转到其他选项
并添加- D__USE_MINGW_ANSI_STDIO
。这将启用 %n
说明符。
关于c - 没有正确计算到目前为止写入的字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28562637/