我们写一段c语言代码,来实现以下打印:
*************
h***********!
he********* !
hel*******d !
hell*****ld !
hello***rld !
hello *orld !
hello world !
代码如下:
#include <stdio.h>
#include<string.h>
int main()
{
char arr1[] = "hello world !";
char arr2[] = "*************";
printf("%s\n", arr2);
int sz=sizeof(arr2);
int left = 0, right = sz - 1;
while (left <= right)
{
arr2[left] = arr1[left];
arr2[right] = arr1[right];
left++;
right--;
printf("%s\n", arr2);
}
return 0;
}
上面这段代码是将所有内容一起快速地打印在屏幕上,如果让后面打印的内容覆盖掉前面的内容,并且覆盖的速度慢一点,这样就可以更好地形成闪烁汇聚的感觉。
实现这样一段代码,我们需要用到两个函数:
1.Sleep:头文件为 #include<stdlib.h>;函数原型为unsigned int sleep(unsigned int seconds); 单位为毫秒,作用是指定休眠时间
2.system:头文件为 #include<windows.h>;作用是清理屏幕上的内容
代码如下:
#include <stdio.h>
#include<string.h>
#include<windows.h>
#include<stdlib.h>
int main()
{
char arr1[] = "hello world !";
char arr2[] = "*************";
printf("%s\n", arr2);
int sz = strlen(arr2);
int left = 0, right = sz - 1;
while (left <= right)
{
Sleep(1000);//停缓1s
system("cls");//清理屏幕上的内容
arr2[left] = arr1[left];
arr2[right] = arr1[right];
left++;
right--;
printf("%s\n", arr2);
}
return 0;
}
这样就实现了闪烁打印