使用指针,写一个函数,可以逆序一个字符串的内容。并在主函数中输入字符串后使用该函数逆序输入的字符串
时间: 2024-05-04 13:16:57 浏览: 96
以下是使用指针逆序字符串的代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
void reverseString(char* str) {
int len = strlen(str);
char* start = str;
char* end = str + len - 1;
while (start < end) {
char temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
}
int main() {
char str[100];
cout << "请输入一个字符串:";
cin.getline(str, 100);
reverseString(str);
cout << "逆序后的字符串为:" << str << endl;
return 0;
}
```
该函数的参数为一个指向字符数组的指针,函数内部使用指针将字符串逆序。在主函数中使用`cin.getline()`读取字符串,然后调用函数将字符串逆序,最后输出逆序后的字符串。
相关问题
用C语言写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。 输入 任意一个字符串(长度小于80)。 输出 完成该字符串的逆序存放,再输出逆序后的字符串。用C语言
以下是一个实现该功能的示例代码:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
// 交换前后对应位置的字符
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
int main() {
char str[80];
printf("请输入字符串(长度小于80):");
scanf("%s", str);
reverse_string(str);
printf("反序后的字符串:%s\n", str);
reverse_string(str);
printf("再次反序后的字符串:%s\n", str);
return 0;
}
```
该程序中的 `reverse_string` 函数接受一个指向字符串的指针,将该字符串按反序存放。主函数中先读入一个字符串,然后调用 `reverse_string` 函数进行反序操作,并输出结果。最后再次调用 `reverse_string` 函数将字符串还原为原来的顺序,以便验证反序操作是否正确。
c语言,写一个函数,使输入的一个字符串按逆序存放,在主函数输入和输出字符串
可以使用指针和循环来实现字符串的逆序存放。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char *str) {
int len = strlen(str);
char temp;
for (int i = 0; i < len / 2; i++) {
temp = *(str + i);
*(str + i) = *(str + len - i - 1);
*(str + len - i - 1) = temp;
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
reverse_string(str);
printf("逆序存放后的字符串是:%s\n", str);
return 0;
}
```
在主函数中,首先输入一个字符串。然后调用 `reverse_string` 函数,将输入的字符串按逆序存放。最后输出逆序存放后的字符串。注意,在 `reverse_string` 函数中,使用指针来操作字符串,使得可以在函数内部改变原始字符串的值。
阅读全文