编写一个函数 reverseString,用于反转一个字符串。要求使用字符指针实现。 输入: 从键盘输入一个字符串,以回车结束。假设输入的字符串长度不超过100.一
时间: 2024-02-13 07:07:58 浏览: 81
以下是 C++ 代码实现:
```
#include <iostream>
using namespace std;
void reverseString(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[101];
cin.getline(str, 101); // 读取一行字符串
reverseString(str);
cout << str << endl;
return 0;
}
```
首先在主函数中定义一个字符数组 str,用 getline 读取一行字符串。然后调用函数 reverseString,将字符串反转。
函数 reverseString 接受一个字符指针作为参数,使用 strlen 函数获取字符串的长度 len。循环遍历字符串的前一半,依次交换对称位置上的字符,实现字符串反转。
最后在主函数中输出反转后的字符串。
相关问题
输入:输出: 编写一个函数 reverseString,用于反转一个字符串。要求使用字符指针实现。 从键盘输入一个字符串,以回车结束。假设输入的字符串长度不超过 100。 输出反转后的字符串
下面是使用字符指针实现字符串反转的代码:
```
void reverseString(char* str) {
if (str == NULL) {
return;
}
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[101];
fgets(str, 100, stdin);
reverseString(str);
printf("%s", str);
return 0;
}
```
在上面的代码中,reverseString函数接收一个字符指针,用于反转该指针所指向的字符串。函数内部使用了一个for循环,将字符串的前半部分和后半部分逐个交换,从而实现反转。
在main函数中,使用fgets函数从键盘读取字符串,并将其传递给reverseString函数进行反转。最后,使用printf函数输出反转后的字符串。
编写一个函数reverseString,用于反转一个字符串。要求使用字符指针实现。输入: 从键盘输入一个字符串,以回车结束。假设输入的字符串长度不超过100。输出:输出反转后的字符串。
好的,请看下面的代码实现:
```c
#include <stdio.h>
#include <string.h>
void reverseString(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[101];
printf("请输入字符串:");
fgets(str, 101, stdin);
reverseString(str);
printf("反转后的字符串为:%s", str);
return 0;
}
```
函数 `reverseString` 的参数是一个字符指针,用于指向需要进行反转的字符串。该函数使用了双指针的思想,从两端开始交换字符,最终完成字符串的反转。在 `main` 函数中,使用 `fgets` 函数从键盘读入字符串,并调用 `reverseString` 函数进行反转,最后将反转后的字符串输出。