繁体   English   中英

printf“%n”说明符无法正常工作

[英]printf "%n" specifier not working properly

我为极客从极客那里复制了这段代码。

#include<stdio.h>
  
int main()
{
  int c;
  printf("geeks for %ngeeks ", &c);
  printf("%d", c);
  getchar();
  return 0;
}

它应该打印从 start 到%n的字符,然后是打印的字符数:

在此处输入图像描述

但是当我执行它时,它会打印:

在此处输入图像描述

看来问题出在MingW的旧版本默认没有设置__USE_MINGW_ANSI_STDIO ,新版本不是这样,你可以做的是在你的程序中手动定义它:

# define __USE_MINGW_ANSI_STDIO

#include <stdio.h>

int main()
{
    //...
}

或者直接在编译命令上使用:

gcc main.c -o main.exe -D __USE_MINGW_ANSI_STDIO

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM