如何制作一行字符向两端移动的效果

#include<string.h>//函数strlen引用的头文件;这个头文件是针对字符串函数所引用的,eg:计算字符串长度的函数:strlen;
                 //比较两个字符串是否相等的函数:strcmp等。
#include<stdio.h>
int main()
{
	char arr1[] = "Miss yang,you are the best";
	char arr2[] = "**************************";
	int left = 0;
	int right = strlen(arr1) - 1;
	while (left <= right)
	{
		arr2[left] = arr1[left];
		arr2[right] = arr1[right];
		printf("%s\n", arr2);
		left++;
		right--;
	}
	return 0;
}

下面说一下这段代码的思路

     首先肯定需要两组字符串;

     要呈现向两端逐渐逼近的效果就得访问这些字符串,那这个访问的方法就是通过访问下标来实(左下标=0,右下标就是字符串长度-1,strlen就是求长度的函数)

     当第二个数组的左下标=第一个数组的左下标且第二个数组的右下标=第一个数组的右下标,可以实现第一个数组向第二个数组迁移,

     但如果想逐渐逼近,就得不断迁移,迁移的过程就是left++和right++;那要重复这个过程,就需要一个循环结构。

下面是运行的结果

 这是一个静态的画面,那怎么出现咱们平时看到的那种文字效果呢?

第一:咱们平时看到的那种效果是有一点停顿的;

第二:人家只有一行,逐字闪现

  那要让它也有停顿,咱们可以弄一个Sleep的函数;要它只有一行那就是得把剩下的清空,清空可以用system("cls")的函数。

最后展示一下代码和最终效果

 

 

 (这个效果是动态的,只有一行,由于无法做成视频,只能用两张图片)

新手住意:

1.while,for的语句后面没有分号

2.注意Sleep函数首字母要大写

 

                                                

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值