c - 没有正确计算到目前为止写入的字符数

标签 c codeblocks

据我所知,%n =“相关参数的使用是一个指向整数的指针,其中放置了迄今为止写入的字符数。 我正在使用 win 8,codeblocks IDE。我尝试了一个应该打印至少 15 个字符的程序。但它只显示8。我已经重新启动了程序,甚至计算机,但结果是一样的。

我也是从命令行编译它的。

下面给出了代码片段。

已上传结果快照。

首先输出没有随机数。 enter image description here

#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/

相关文章:

c - 如何查看代码块中的汇编代码?

c - 在平面上反射格子上的一个点

超出数组大小的数组元素值的C数组设置

c++ - 类的全局实例(跨多个文件)

c - C中的二维数组

c++ - 在 Codeblocks 中构建时出现 MinGW 的 ar.exe "could not create temporary file whilst writing archive: no more archived files"错误

macos - CodeBlocks 在 Mac 上崩溃

在简单的 for 循环测试中,Javascript 比经典 C 快 100,为什么?

c++ - 结构的 Xcode typedef 创建错误/警告

c - 结构和位域的奇怪行为