输入一串字符串,逆序输出
输入一个字符串,将其逆序输出。可以将左端和右端的字符位置调换,每循环一次,调换一组位置,当字符串内字符数为奇数时左右指针相遇,即代表已调换所有字符位置;若为偶数个数,则当左大于右时,说明已调换所有字符。
代码如下:
#include<stdio.h>
#include<string.h>
void reverse(char* arr)
{
int len = strlen(arr);//计算字符串长度
char* left = arr; //定义左指针
char* right = arr + len - 1;//定义右指针
while(left<right)
{
char tmp = 0; //定义临时变量,交换位置
tmp = *left;
*left = *right;
*right = tmp;
left++;
right--;
}
}
int main()
{
char arr[100] = {0};
gets(arr); //用gets读取一整行字符
reverse(arr); 调用函数;
printf("%s\n", arr);
return 0;
}
输出结果: