解析
首先是头函数
#include<stdio.h>
#include<string.h>//需要strlen()计算字符串大小
#include<Windows.h>//Sleep()和system()在代码中有用到
接下来设置两个字符串数组,并给予赋值。
char arr1[] = "welcome to my space!";//逐一显现内容
char arr2[] = "####################";//遮蔽字
在创建left和right自变量作为数组的下标,并作为循环的判断。 并在循环中,给arr2中的值进行替换和打印。
arr2[left] = arr1[left];//将arr1左边的字赋给arr2
arr2[right] = arr1[right];//将arr1右边的字赋给arr2
printf("%s\n", arr2);
在末端使left和right进行移位。
left++;
right--;
因为结果一运行就完成了所有的打印,打印出来一堆结果,所以给它设置一个延时500毫秒,并且清屏,这样就能得到一个简单的出现效果。
Sleep(500);//延时500毫秒
system("cls");//清屏
代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<Windows.h>
int main()
{
char arr1[] = "welcome to my space!";//逐一显现内容
char arr2[] = "####################";//遮蔽字
int left = 0;
int right = strlen(arr2)-1;
while (left <= right)
{
arr2[left] = arr1[left];//将arr1左边的字赋给arr2
arr2[right] = arr1[right];//将arr1右边的字赋给arr2
printf("%s\n", arr2);
Sleep(500);//延时500毫秒
system("cls");//清屏
left++;
right--;
}
printf("%s\n", arr2);//再次打印显示内容
return 0;
}
总结
其中,right的创建可以使用sizeof进行创建。因为sizeof会把数组中的\n多算进来,所有要多减一。
//int right = strlen(arr2)-1; int right = sizeof(arr2)/sizeof(arr2[0])-2; //因为sizeof会把数组中的\n多算进来,所有要多减一