`
zhaoningbo
  • 浏览: 619274 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

C语言scanf“屏蔽”printf使其在结束时一起输出问题的解决

    博客分类:
  • c
阅读更多
引言:

  笔者是个javaer,虽然大学学过C基础,忘了个7788。
  前些天配了eclipse-cpp+mingw后,发现个问题——scanf一出现,printf要等到后终才出效果,而无视C语句中printf是否在scanf之前。当时查百度运气好解决了。
  今天群里有朋友问同样的问题,我告诉人做法,然后让上网查一下有说原因。结果都没查到。于是有了此篇

正文:

  解决这问题有至少3种方法,此处贴上推荐的两种。

1,设置输出缓存大小为0。
setvbuf(stdout, NULL, _IONBF, 0);


2,输出前刷新输出stdout
fflush(stdout);


  至于原因,可参看setvbuf_百度百科


1
1
分享到:
评论

相关推荐

    C语言程序设计教程练习题解析.docx

    C语言的标准输出函数`printf()`用于向控制台输出数据,它可以输出各种类型的数据,包括字符串、数值等,并且可以识别格式化输入,如问题3的解析所示。而`scanf()`函数用于从标准输入读取数据,它可以读取字母、数字...

    C语言程序设计教程第四章练习题解析.pdf

    本文档对C语言程序设计教程第四章的练习题进行了详细解析,涵盖了函数定义、函数调用、printf()函数、scanf()函数、内部函数、外部函数、局部变量、全局变量、变量作用域等重要概念。 1. 关于C语言中的函数,函数...

    C语言程序设计教程第四章练习试题解析.pdf

    3. printf与scanf函数:printf是用于向标准输出(通常是控制台)打印数据的函数,而scanf用于从标准输入(通常是键盘)读取数据。scanf能处理多种类型的数据,包括字母、数字,但默认会跳过输入的空格。 4. 静态...

    浙江大学C语言总复习题--综合

    - `printf`函数是C语言中的标准输出函数,用于向标准输出设备(通常是屏幕)输出数据。(正确) 38. **主函数参数类型**: - `main`函数可以接受各种类型的参数,包括指针类型。(错误) 39. **全局变量的位置**...

    C语言程序分析写结果.doc

    该程序使用作用域规则,内层变量x屏蔽了外层变量x,故输出结果为20 10。 3. 第三个程序的输出结果是4294967275。该程序使用unsigned int类型,输出结果为n的值,即-521的无符号整型表示。 4. 第四个程序的输出结果...

    C语言面试题,附有答案

    2. **设置变量的存储域**:使变量在程序的整个运行周期内保持有效,即使函数调用结束也不会被销毁。 #### 3. 引用与指针有什么区别? 1. **初始化**:引用必须被初始化,而指针不必。 2. **可更改性**:引用初始化...

    C语言面试题的整理

    1. **函数体内:** 在函数体内声明为静态的变量在每次函数调用过程中只会被初始化一次,并且在函数调用结束后其值会被保留。 2. **模块内(非函数体内):** 在模块内声明为静态的变量可以被该模块内的所有函数访问...

    atm程序代码

    4. **输入/输出处理**:用户交互是ATM程序的重要部分,这涉及到了C语言的输入输出函数,如`printf()`用于输出信息,`scanf()`用于接收用户输入。考虑到安全性,密码输入通常使用`getchar()`逐字符读取并屏蔽显示。 ...

    数据类型 2019 07 101

    关于安全警告,`_CRT_SECURE_NO_WARNINGS`宏常用于Visual Studio环境中,设置为1可以屏蔽某些C库函数(如`scanf`和`printf`)的安全警告,因为这些函数在处理字符串时可能存在缓冲区溢出的风险。`scanf_s`和`printf_...

    开发板之间通过rs485通信

    总的来说,RS485通信在开发板之间的数据传输中扮演着重要角色,其强大的抗干扰能力和长距离传输能力使其成为工业和嵌入式系统中的首选方案。理解并熟练掌握RS485通信的硬件配置和C语言编程,对于开发者来说至关重要...

    Linux c 函数使用手册 Linux下编程

    - `stdio.h`:包含输入/输出函数,如`printf`用于格式化输出,`scanf`用于从输入流读取数据。 - `stdlib.h`:提供了通用的系统操作,如内存分配`malloc`和释放`free`,以及整数转换`atoi`、`atof`等。 - `string....

    linux常用c函数

    12. **fprintf()** 和 **scanf()** 函数:格式化输入输出,类似于C语言的标准IO函数printf()和scanf(),但可以用于文件描述符。 13. **access()** 函数:检查用户对文件或目录的访问权限,如读、写和执行。 14. **...

    RS485串口通信试验(接受与发送)

    例如,通过设置DIR引脚来切换发送和接收模式,并使用串口函数(如printf和scanf)进行数据传输。同时,需要处理中断和数据校验,确保数据的完整性和正确性。 - 汇编语言编程:汇编语言更接近底层硬件,可以直接控制...

    代码语法错误分析工具pclint8.0

    选项由类似于操作符和操作数的部分组成,例如-esym(534, printf, scanf, operat or new),其中最后一个选项是operator new,那么在operator和new中间只能有一个空 格。 选项还可以放在宏定义中,例如: #...

    Linux系统下解决getch()输入数值不回显示问题

    ### Linux系统下解决getch()输入数值不回显示问题 #### 概述 在Linux环境下进行C语言编程时,开发者可能会遇到系统不支持`conio.h`头文件的情况,这导致无法直接使用`getch()`函数来实现无回显输入(如密码输入)...

Global site tag (gtag.js) - Google Analytics