新手专科准大一学习c语言的第6天之循环的练习之sleep函数的使用

逐步打印字符

今天在b站比特课程上又学了一个有意思的循环玩法

将一个想要显示的字符串缓慢的打印出来

代码如下

#include <stdio.h>
#include <string.h> //引入strlen函数头文件

int main()
{
    char arr1[] = "hello word!!!";
    char arr2[] = "#############";
    int left = 0;                 // 定义最左侧下标元素
    int right = strlen(arr2) - 1; // 在顶部引入string头文件以成功使用strlen函数计算两个数组相同长度
    while (left <= right)         // 使用while循环来循环打印
    {
        arr2[left] = arr1[left];
        arr2[right] = arr1[right];
        printf("%s\n", arr2);
        left++;  // 想要显示第二个字符必须让left++
        right--; // 想要显示倒数第二个字符必须要right--
    }

    return 0;

slee函数的使用

但是这样是直接打印出来的不太符合我们的预期所以我们需要用到sleep函数 

#include <stdio.h>
#include <string.h> //引入strlen函数头文件
#include <unistd.h> //引入时间延迟函数sleep头文件

int main()
{
    char arr1[] = "hello word!!!";
    char arr2[] = "#############";
    int left = 0;                 // 定义最左侧下标元素
    int right = strlen(arr2) - 1; // 在顶部引入string头文件以成功使用strlen函数计算两个数组相同长度
    while (left <= right)         // 使用while循环来循环打印
    {
        arr2[left] = arr1[left];
        arr2[right] = arr1[right];
        printf("%s\n", arr2);
        sleep(1); // 使用sleep函数来延迟
        left++;   // 想要显示第二个字符必须让left++
        right--;  // 想要显示倒数第二个字符必须要right--
    }

    return 0;
}

sleep代码声明

#include <unistd.h>:引入了 sleep 函数的声明。
sleep(1):使程序暂停 1秒。sleep 函数的参数是要暂停的秒数

特点

通过 sleep函数,可以控制程序的执行节奏,这在需要定时执行某些操作或者等待某些资源可用时非常有用。

打印优化

但是这样打印显示出来行数太多 显然是非常不好的 所以改进一下代码

#include <stdio.h>
#include <string.h> //引入strlen函数头文件
#include <unistd.h> //引入时间延迟函数sleep头文件
#include <stdlib.h> //引入system命令提示符函数函数库以便清理行数
int main()
{
    char arr1[] = "hello word!!!";
    char arr2[] = "#############";
    int left = 0;                 // 定义最左侧下标元素
    int right = strlen(arr2) - 1; // 在顶部引入string头文件以成功使用strlen函数计算两个数组相同长度
    while (left <= right)         // 使用while循环来循环打印
    {
        arr2[left] = arr1[left];
        arr2[right] = arr1[right];
        printf("%s\n", arr2);
        sleep(1);      // 使用sleep函数来延迟
        system("cls"); // 清理屏幕防止多行打印
        left++;        // 想要显示第二个字符必须让left++
        right--;       // 想要显示倒数第二个字符必须要right--
    }
    return 0;
}

总结

这个程序实现了一个简单的字符替换动画效果,逐步从两端向中间填充字符串,并使用 sleep 函数来延迟显示,system("cls") 来清屏,最终产生动态效果 今天又是进步的一天

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值