Eclipse下printf和scanf的运行顺序问题

Eclipse下printf和scanf的运行顺序问题

Eclipse  宇托  2011-12-25  662浏览  去评论

在写一个C语言时,运行时发现scanf比printf先执行了,在网上找了一下资料,原来是输出缓冲区的问题。解决方法有两个,第一,设置缓冲区为空,即没有缓冲区;第二,每执行printf之后,强制缓冲区。具体方法如下:

  1. 在printf之前添加:setvbuf(stdout,NULL,_IONBF,0);设置缓冲区为空。
  2. 在每句printf之后添加:fflush(stdout);

测试代码如下:

1.添加了 setvbuf(stdout,NULL,_IONBF,0);

/*
 * Main.c
 *
 *  Created on: 2015年1月29日
 *      Author: qiang
 */

#include <stdio.h>
int main() {

 int i = 3;
 setvbuf(stdout,NULL,_IONBF,0);
 printf("hello\n");
 scanf("%i" , &i);
 printf("你输入了%i",i);

 return 0;
}

2 添加  fflush(stdout);

/*
 * Main.c
 *
 *  Created on: 2015年1月29日
 *      Author: qiang
 */

#include <stdio.h>
int main() {

 int i = 3;
 printf("hello\n");
 fflush(stdout);
 scanf("%i" , &i);
 printf("你输入了%i\n",i);
 fflush(stdout);
 scanf("%i" , &i);
 
 return 0;
}
时间: 2024-10-28 23:00:17

Eclipse下printf和scanf的运行顺序问题的相关文章

eclipse下配置tomcat、修改字体、为什么得运行两次才能实现新做的改动的问题

问题一: 手把手图文教你eclipse下如何配置tomcat 问题二: 用Eclipse做j2me工程为什么得运行两次才能实现新做的改动 这个问题简而言之:先保存再运行就可以一次实现了. 问题三: Eclipse怎样修改字体 我的是英文版的eclipse,所以是window -> preferences -> General -> Appearance -> Colors and Fonts   然后选择中是:Basic -> Text Font.

eclipse下安装 maven环境下运行 jetty

转http://www.cnblogs.com/nightswatch/p/4639687.html 一.eclipse中jetty插件安装: 打开eclipse,依次点击菜单Help->Eclipse Marketplace,在Find后面的框中输入jetty,选择第一项进行install即可. 二.jetty插件的使用: POM文件的配置: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&quo

hadoop——配置eclipse下的map-reduce运行环境 1

1.通过修改实例模板程序来实现自己的map-reduce: 为了让示例程序run起来: 1)安装eclipse 2)安装map-reduce的eclipse插件 eclipse的map-reduce插件可以很方便的创建hadoop项目(自动导入所依赖的map-reduce jar包)和打开map-reduce视图(在里面可以像查看本机文件系统一样直观的看到hdfs文件系统的结构) 安装详细步骤: i)查找eclipse的安装路径: $:whereis eclipse 1.通过修改实例模板程序来实

黑 马 程 序 员_视频学习总结&lt;c语言&gt;----02 printf和scanf函数、基本语句和运算、流程控制、函数、数组、字符串

---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 一.printf函数 1.在使用peintf函数前必须加入#include <stdio.h>,使用它可以向标准输出设备(比如屏幕)输出数据,其中使用格式是 printf(“字符串”) :或者 printf(“字符串”, 格式符参数): 2.常用的格式符及其含义如图所示 3.格式符还可以添加输出宽度 二.scanf函数 1.在使用scanf函

C语言-数据类型、常量、变量、变量作用域、printf、scanf函数

4.数据类型介绍 数据:文本数据.音频.视频.图像.数字 C语言中有5大数据类型:基本类型.构造类型.空类型.指针类型.自定义类型 基本数据类型: 整型    长整型long int    整型int(4)    端整型short int 实型    单精度float(4)    双精度 double(8) 字符型   char(1) 内存: 1> 内存分配:4G存储大小:4*1024*1024*1024Byte; 内存的基本单元为一个字节(就是8bit) 2> 内存区域:栈 (存放局部变量)

cygwin+ndk+eclipse下JNI技术入门

1.JNI的编写步骤1)编写带有native 声明的java类.2)编译java文件成class类3)使用javah -jni com.ikags.project.XXXX 编译成.h文件4)使用C/C++编写代码5)编写makefile文件,将.h和.c(.cpp)文件编译成.dll(.so)文件6)将.dll(.so)文件提供给项目,用system.loadLibrary方法调用. 2.编写makefile文件make执行时,自动寻找Makefile(makefile)文件,然后执行编译工作

Linux下librdkafka客户端的编译运行

Linux下librdkafka客户端的编译运行 librdkafka是一个开源的Kafka客户端C/C++实现,提供了Kafka生产者.消费者接口. 由于项目需要,我要将Kafka生产者接口封装起来给别人调用,所以先安装了librdkakfa,然后在demo上进行修改封装一个生产者接口. [一] 安装librdkafka 首先在github上下载librdkafka源码,解压后进行编译: cd librdkafka-master chmod 777 configure lds-gen.py .

Eclipse下的java工程目录问题和路径问题理解

1.Eclipse下的java工程都有哪些文件夹? 答:new java project时,会默认创建SRC源代码目录,并默认创建一个bin目录作为输出目录,输出目录是指生成的class文件和配置文件地址. 所以Eclipse创建的java工程,默认就两个文件夹,src和bin. 2.当点击Eclipse运行时候java jdk会默认执行编译,并将编译后的java文件,生成class文件放到项目目录下的bin文件夹里,以.class命名结尾. 注:即使某个类有bug错误,不能编译通过.但只要点击

[Gradle] 在 Eclipse 下利用 gradle 构建系统

转载自:http://www.ibm.com/developerworks/cn/opensource/os-cn-gradle/ 构建系统时候常常要用到 Ant, Maven 等工具,对于初学者来说,它们还是过于复杂,上手还是需要时间的.本文将向读者介绍一种全新的构建项目的方式 gradle,它简单.上手快,能大大节省项目的时间和成本. 在 eclipse 下利用 gradle 构建系统 基本开发环境 操作系统:本教程使用的为 Windows Vista Enterprise, 如果您的系统是