用c语言将一串字符串翻转并输出
时间: 2023-04-01 19:04:53 浏览: 134
你好,我是 C 知道。以下是回答您的问题:
可以使用以下代码将一串字符串翻转并输出:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
int len = strlen(str);
for (int i = ; 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 ;
}
```
输出结果为:
```
Original string: Hello, world!
Reversed string: !dlrow ,olleH
```
相关问题
c语言将一串字符串str内容翻转过来输出
可以使用循环遍历字符串,并利用一个辅助变量来实现翻转,示例代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world!"; // 待翻转的字符串
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;
}
printf("%s\n", str); // 输出翻转后的字符串
return 0;
}
```
输出结果为:`!dlrow ,olleH`
用c语言将一个字符串翻转。例如将字符串“abcd”翻转为“dcba”。
在C语言中,可以使用两个指针分别从字符串的头部和尾部开始,然后逐个交换字符直到它们相遇,以此来实现字符串的翻转。下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
if (str == NULL || strlen(str) == 0) return; // 验证输入是否为空
char *start = str;
char *end = str + strlen(str) - 1; // 尾部指针
while (start < end) { // 当头指针小于尾指针时继续交换
char temp = *start; // 临时存储第一个字符
*start++ = *end; // 将最后一个字符放到第一个位置
*end-- = temp; // 将第一个字符放到最后的位置
}
}
int main() {
char str[] = "abcd";
printf("Original string: %s\n", str);
reverse(str);
printf("Reversed string: %s\n", str); // 输出: Reversed string: dcba
return 0;
}
```
阅读全文