用c语言指针的知识将字符串倒置并输出
时间: 2023-05-11 16:04:07 浏览: 117
可以使用以下代码将字符串倒置并输出:
```c
#include <stdio.h>
#include <string.h>
void reverse(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[] = "Hello World";
printf("Original string: %s\n", str);
reverse(str);
printf("Reversed string: %s\n", str);
return 0;
}
```
输出结果为:
```
Original string: Hello World
Reversed string: dlroW olleH
```
相关问题
c语言 输入一个字符串,然后倒置输出该字符串,用指针实现
在C语言中,可以使用指针来倒置输入的字符串。这里是一个简单的示例,我们将通过两个指针分别指向字符串的开始和结束,然后交换它们的位置,逐次将字符移到数组的前端,直到相遇。
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char* str) {
if (str == NULL || strlen(str) <= 1) { // 检查字符串是否为空或长度小于等于1
printf("Invalid string!\n");
return;
}
char start = str; // 初始化指向字符串起始位置
char end = str + strlen(str) - 1; // 初始化指向字符串结尾位置
while (start < end) { // 当起始指针小于结束指针时
char temp = *start; // 临时存储起始处的字符
*start = *end; // 将结束处的字符赋给起始处
*end = temp; // 将临时存储的字符赋给结束处
start++; // 起始指针后移一位
end--; // 结束指针前移一位
}
}
int main() {
char input[100];
printf("Enter a string: ");
fgets(input, sizeof(input), stdin); // 读取用户输入,忽略换行符
input[strcspn(input, "\n")] = '\0'; // 去除fgets读取到的换行符
reverse_string(input);
printf("Reversed string: %s\n", input);
return 0;
}
用C语言指针编写将一个字符串前后倒置的函数(要求用指针实现),并调用此函数将一个字符串前后倒置
好的,以下是用C语言指针编写将一个字符串前后倒置的函数:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char *str) {
int len = strlen(str);
char *start = str;
char *end = str + len - 1;
while (start < end) {
char tmp = *start;
*start++ = *end;
*end-- = tmp;
}
}
int main() {
char str[100];
printf("请输入字符串:");
scanf("%s", str);
reverse_string(str);
printf("倒置后的字符串是:%s\n", str);
return 0;
}
```
函数`reverse_string`的参数是一个指向字符串的指针,函数首先计算字符串的长度,然后使用两个指针`start`和`end`分别指向字符串的开头和结尾。接下来,函数使用一个循环来交换`start`和`end`指向的字符,直到`start`指针超过了`end`指针。最后,函数返回,字符串就被倒置了。
在`main`函数中,我们首先使用`scanf`函数读入一个字符串,然后调用`reverse_string`函数将其倒置,最后输出倒置后的字符串。
希望这个程序对你有所帮助!
阅读全文
相关推荐












