c语言中,关于延迟函数的理解

对于延迟,有些c基础的人都能够做到用for或while来实现 
例如:

#include <stdio.h>int main()
{int i, j, k;for (i = 1; i < 1000; i++){for (j = 1; j < 1000; j++){for (k = 1; k < 1000; k++){}}}printf("hello\n");return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

但是用for或while来实现延迟,对于延迟的时间不好把握,也比较low。

在这主要想和大家分享的是Linuxc语言中的延迟函数sleep()的用法。 
-例如:

#include <stdio.h>int main()
{printf("hello\n");sleep(1);  //延迟1秒printf("world\n");return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

这里写图片描述 
after 1s: 
这里写图片描述

windows下 sleep(1000) 代表延迟1秒,因为sleep的参数为毫秒, 
而在Linux下 sleep的参数为秒,所以延迟1秒为 sleep(1)。 
请大家看以下程序

#include <stdio.h>int main()
{printf("hello"); /*去掉转义字符'\n'*/sleep(1);printf("world");return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

这里写图片描述 
after 1s: 
这里写图片描述

大家会发现去掉转义字符‘\n’,不再执行任何转义操作后,延迟函数sleep不再在语句间延迟,而是变成延迟整个程序。 
那么如何解决这一问题呢? 
这就需要借助另一个函数fflush( )

#include <stdio.h>int main()
{printf("hello");fflush(stdout);   //强制刷新缓存,输出显示sleep(10);printf("world");return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

这里写图片描述 
after 1s: 
这里写图片描述

对于fflush( )函数这里就不多说了,这里主要想和大家分享的是关于Linux下c 中sleep( )函数的使用。 
以上就是我对它的简单理解,希望可以帮到有需要的人。

转载自(http://blog.csdn.NET/Crazy_Tengt/article/details/72764007)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460341.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

火山去水印链接_在线批量去水印下载快手图集视频、抖音、火山等平台方法技巧!...

不管是做自媒体还是做电商或是工作素材采集&#xff0c;都离不开视频&#xff0c;视频比文字更好展示出产品、细节内容&#xff0c;就好比我们经常看的抖音、快手、火山、皮皮虾之类的短视频里面就有很多优秀的素材&#xff0c;相信有采集过的朋友都会遇到平台水印这个问题吧&a…

php CI 实战教程:如何去掉index.php目录

Windows下自由创建.htaccess文件的N种方法.htaccess是apache的访问控制文件&#xff0c;apache中httpd.conf的选项配合此文件&#xff0c;完美实现了目录、站点的访问控制&#xff0c;当然最多的还是rewrite功能&#xff0c;即URL重写&#xff0c;PHP中实现伪静态的一个重要途径…

十字连接焊盘_你应该知道的焊盘基础知识

PADSTACK&#xff1a;就是一组PAD的总称。Copper pad&#xff1a;在布线层(routing layer),注意不是内层&#xff0c;任何孔都会带有一个尺寸大于钻孔的铜盘(copper pad)。对内布线层这个铜盘大概14 mils&#xff0c;外布线层更大。如果这里需要导线连接,那么这个可以提供一个可…

平面上最近点对

在二维平面上的n个点中&#xff0c;如何快速的找出最近的一对点&#xff0c;就是最近点对问题。 一种简单的想法是暴力枚举每两个点&#xff0c;记录最小距离&#xff0c;显然&#xff0c;时间复杂度为O(n^2)。 在这里介绍一种时间复杂度为O(nlognlogn)的算法。其实&#xff0c…

Shell脚本中循环语句for,while,until用法

循环语句:BashShell中主要提供了三种循环方式&#xff1a;for、while和until。一、for循环for循环的运作方式&#xff0c;是讲串行的元素意义取出&#xff0c;依序放入指定的变量中&#xff0c;然后重复执行含括的命令区域&#xff08;在do和done 之间&#xff09;&#xff0c;…

git管理账户忘记了_强制找回GitLab管理员账户密码的方法

01. 概述如果gitlab的密码忘记了&#xff0c;由于没有邮箱服务支持&#xff0c;所以可以通过后台直接操作git-shell&#xff0c;先找回管理员的密码。操作步骤如下02. 环境使用docker部署的gitlab&#xff0c;因此需要多执行一步&#xff0c;如果是传统安装方法&#xff0c;不用…

交换2个数值的方法

如何交换2个变量的值&#xff1f;一般来说&#xff0c;想到的方法是再找一个临时变量&#xff0c;通过一种顺序存放的方式来达到交换值的效果。 比如有a,b这2个变量。取同类型的变量temp。 temp a ; a b ; b temp ; 这样就完成了交换。但这样做的话会多使用一个temp的内存。…

【问题收集·知识储备】Xcode只能选择My Mac,不能选择模拟器如何解决?

网友问题:请问打开一个应用&#xff0c;只能选择My Mac&#xff0c;不能选择模拟器如何解决&#xff1f; 答案: 下面将问答过程记录如下&#xff1a; CHENYILONG Blog请问打开一个应用&#xff0c;只能选择My Mac&#xff0c;不能选择模拟器如何解决&#xff1f; 网友的问题 09…

CSS垂直居中总结

原文:CSS垂直居中总结工作中遇到垂直居中问题&#xff0c;特此总结了一下几种方式与大家分享。本文讨论的垂直居中仅支持IE8 1、使用绝对定位垂直居中 <div class"container"><!--<div class"floater"></div>--><div class&quo…

单元测试代码:SpringTest+JUnit

2019独角兽企业重金招聘Python工程师标准>>> /*** JUnit单元测试父类&#xff0c;配置了Spring的基础环境。 <br/>* 可以作为Controller、Service、Dao单元测试的父类。* * author leiwenfansunion.cn*/ public class JUnitTestBase {public static XmlWebApp…

Java中发邮件的6种方法

2019独角兽企业重金招聘Python工程师标准>>> 1.官方标准JavaMail Sun&#xff08;Oracle&#xff09;官方标准&#xff0c;功能强大&#xff0c;用起来比较繁琐。 官方资料&#xff1a;http://www.oracle.com/technetwork/java/javamail/index.html 2.第三方实现…

用mongo实现mysql视图_浅谈 MongoDB 的视图

2018 年 9 月 18 日&#xff0c;由 Robert Gravelle 撰写在关系数据库中&#xff0c;视图是由查询定义的可搜索数据子集。视图有时被称为“虚拟表”&#xff0c;因为它们不存储数据&#xff0c;但可以像表一样被查询。MongoDB 最近在版本 3.4 中引入了视图。在今天的文章中&…

java char 空_2020重新出发,JAVA入门,数据类型

数据类型通过上一节&#xff0c;明白了变量就是申请内存来存储值&#xff0c;即当创建变量的时候&#xff0c;需要在内存中申请空间。内存管理系统根据变量的类型为变量分配存储空间&#xff0c;确定了变量的类型&#xff0c;即确定了数据需分配内存空间的大小&#xff0c;数据…

实验一报告

北京电子科技学院&#xff08;BESTI&#xff09; 实 验 报 告 课程&#xff1a;Java   班级&#xff1a; 1352    姓名&#xff1a;谈愈敏   学号&#xff1a;20135220 成绩&#xff1a;   指导教师&#xff1a;娄嘉鹏       实验日期…

mysql中下杠怎么打_怎么打字母下方的短横杠?,下横杠怎么打

下横杠怎么打,怎么打字母下方的短横杠?对于电脑操作&#xff0c;大多数成年人不及现在的孩子们。今天看到同事在编辑一篇文档&#xff0c;需要在字母下面打一条短横杠&#xff0c;如下图所示。但是同事怎么也打不出来&#xff0c;坐在旁边的他的孩子&#xff0c;看着有点不耐烦…

云计算解决方案——电信行业

2019独角兽企业重金招聘Python工程师标准>>> 云计算解决方案——电信行业 由于业务的快速发展&#xff0c;电信运营商每年要采购大量的服务器和存储设备&#xff0c;这些资源闲置或者偶尔被使用&#xff0c;造成大量的投资浪费。解决这一问题最好的方法是在企业内部…

华硕主板装系统蓝屏_华硕笔记本电脑重装系统后蓝屏怎么办

华硕笔记本电脑重装系统后蓝屏怎么办?笔记本重装系统后蓝屏怎么办&#xff0c;之前笔记本系统很慢很慢&#xff0c;想重新安装一下操作系统&#xff0c;重新安装的是Windows 7的系统&#xff0c;使用的是Ghost系统盘&#xff0c;为什么重新安装玩系统之后蓝屏了&#xff0c;其…

[LeetCode]LRU Cache有个问题,求大神解答【已解决】

题目&#xff1a; Design and implement a data structure for Least Recently Used (LRU) cache. It should support the following operations: get and set. get(key) - Get the value (will always be positive) of the key if the key exists in the cache, otherwise ret…

从CentOS6.0i386到CentOS6.6x86-64,搬家中,磕磕跘跘,各种折腾……

2019独角兽企业重金招聘Python工程师标准>>> 原本打算从 CentOS 6.0 i386 蹦到 CentOS 7.1 x86-64 &#xff0c;结果声卡一灵九不灵的问题没解决。决定退到 CentOS 6.6 x86-64 。 装好 CentOS 6.6 x86-64 &#xff0c;原生创建的用户 guest 貌似没啥问题。但直接迁…

java程序源代码如何保存到桌面_如何编写JAVA小白第一个程序

学习上一篇文章之后&#xff0c;确定好JDK和环境变量都成功之后&#xff0c;我们来编写我们第一个java程序命名为HelloWorld.java。上一篇文章链接&#xff1a;JDK下载与环境变量的安装桌面上右击&#xff0c;新建一个文本文档用记事本打开文本文档编写如上图代码&#xff0c;注…