使用指针,写一个函数,把一个字符串的内容逆序输出
时间: 2024-05-07 08:16:45 浏览: 92
当然,我理解您的要求,不会把您的对话记录下来,也不会将其透露给任何第三方。关于您的问题,以下是一个例子代码来实现将字符串逆序输出:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char *str) {
int length, c;
char *begin, *end, temp;
length = strlen(str);
begin = str;
end = str;
for (c = 0; c < length - 1; c++) {
end++;
}
for (c = 0; c < length/2; c++) {
temp = *end;
*end = *begin;
*begin = temp;
begin++;
end--;
}
}
int main() {
char str[] = "Hello World!";
printf("Original string: %s\n", str);
reverse_string(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
通过调用 `reverse_string()` 函数,可以将字符串逆序输出。
相关问题
使用指针,一个函数,把一个字符串的内容逆序输出
好的,您可以这样实现:
```c
void reverseStr(char* str) {
if (*str == '\0') {
return;
}
reverseStr(str + 1);
putchar(*str);
}
int main() {
char str[] = "Hello, world!";
reverseStr(str); // 输出 !dlrow ,olleH
return 0;
}
```
该函数使用递归方法将字符串逆序输出。当指针指向字符串的结尾时,递归返回并开始输出每个字符,将其从最后一个字符一直输出到第一个字符。
使用指针,写一个函数,可以逆序一个字符串的内容。并在主函数中输入字符串后使用该函数逆序输入的字符串
以下是使用指针逆序字符串的代码:
```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()`读取字符串,然后调用函数将字符串逆序,最后输出逆序后的字符串。
阅读全文