一、C语言的字符串左右替换。
1、字符的右下标使用了两种方法。
① 采用 sizeof函数,但是需要注意的是字符串下标最后隐含了一个\n,因此需要-2
② 采用strlen求字符串长度的参数。这里是-1.
2、使用了while循环。
循环一次替换一次,而循环的次数是left<=right. 而当left>right 时,循环结束。
#include <stdio.h>
#include <string.h>
//welcome to bit!!!!
//##################
//left=0 right=n
int main()
{
char arr1[]="welcome to bit!!!!";
char arr2[]="##################";
int left = 0;
//字符串的下标最后隐藏了一个/n ,因此right需要-2
//int right = sizeof(arr1)/sizeof(arr1[0])-2;
int right = strlen(arr1)-1;
while(left<=right)
{
arr2[left] = arr1[left];
arr2[right] = arr1[right];
printf("%s\n",arr2);
left++;
right--;
}
return 0;
}
代码的结果如下。
w################!
we##############!!
wel############!!!
welc##########!!!!
welco########t!!!!
welcom######it!!!!
welcome####bit!!!!
welcome ## bit!!!!
welcome to bit!!!!
二、我们将代码再次优化一下
这里引用了两个头文件。
#include <windows.h> // 引入时间的头文件。
#include <stdlib.h> //引入系统文件的头文件。
两个的作用如下
Sleep(1000); //Sleep函数代表窗口停止时间,ns
system("cls"); //system函数的作用是执行系统命令。这里执行cls
#include <stdio.h>
#include <string.h>
#include <windows.h> // 引入时间的头文件。
#include <stdlib.h> //引入系统文件的头文件
//welcome to bit!!!!
//##################
//left=0 right=n
int main()
{
char arr1[]="welcome to bit!!!!";
char arr2[]="##################";
int left = 0;
//字符串的下标最后隐藏了一个/n ,因此right需要-2
//int right = sizeof(arr1)/sizeof(arr1[0])-2;
int right = strlen(arr1)-1;
while(left<=right)
{
arr2[left] = arr1[left];
arr2[right] = arr1[right];
printf("%s\n",arr2);
Sleep(1000); //Sleep函数代表窗口停止时间,ns
system("cls"); //system函数的作用是执行系统命令。这里执行cls
left++;
right--;
}
printf("%s\n",arr2);
return 0;
}