c语言逆序输出字符串
时间: 2023-11-27 09:46:06 浏览: 173
以下是C语言逆序输出字符串的代码实现:
```c
#include <stdio.h>
#include <string.h>
void reverse(char* left, char* right) {
while (left < right) {
char tmp = 0;
tmp = *left;
*left = *right;
*right = tmp;
left++;
right--;
}
}
int main() {
char arr[100] = { 0 };
gets(arr); //获取字符串
//将字符串倒置
int len = strlen(arr); //计算字符串长度,以求最后一位的地址
reverse(arr, arr+len-1); //进行倒置
printf("%s\n",arr);
return 0;
}
```
该代码首先使用`gets()`函数获取用户输入的字符串,然后使用`strlen()`函数计算字符串长度,以求最后一位的地址。接着,使用`reverse()`函数将字符串倒置,最后使用`printf()`函数输出倒置后的字符串。
相关问题
C语言逆序输出字符串
在C语言中逆序输出字符串通常意味着要从字符串的末尾开始向前逐个字符输出,直到字符串的开头。下面是一个简单的示例代码,展示了如何使用C语言实现字符串的逆序输出:
```c
#include <stdio.h>
void reversePrint(const char *str) {
int len = 0;
const char *temp = str;
// 计算字符串长度
while (*temp++) len++;
temp = str;
// 从字符串末尾开始输出
while (len--) {
printf("%c", *temp++);
}
printf("\n");
}
int main() {
char str[] = "Hello, World!";
reversePrint(str);
return 0;
}
```
在这个示例中,`reversePrint` 函数首先计算输入字符串的长度,然后从字符串的末尾开始逐个字符打印,直到达到字符串的起始位置。
c语言逆序输出字符串单词
在C语言中,逆序输出字符串单词通常涉及到两个步骤:首先,将整个字符串反转;然后,遍历反转后的字符串,遇到空格就停止并打印当前的单词,直到再次遇到空格。这里是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
int start = 0, end = strlen(str) - 1;
while (start < end) {
char temp = str[start];
str[start] = str[end];
str[end] = temp;
start++;
end--;
}
}
void print_words_backwards(char *str) {
// 反转字符串
reverse(str);
int i = 0, j = strlen(str) - 1;
while (i < j) {
if (str[i] == ' ') { // 遇到空格,打印单词
printf("%s ", &str[j]);
j--;
} else {
i++; // 没有空格,继续查找下一个单词的开始位置
}
}
printf("\n"); // 输出结束后换行
}
int main() {
char str[] = "Hello World, How Are You?";
print_words_backwards(str);
return 0;
}
```
当你运行这个程序,它会逆序输出"Are You? How World, Hello"。
阅读全文