c语言字符串逆序输出空格数字不输出
时间: 2023-12-08 21:39:36 浏览: 108
以下是C语言实现字符串逆序输出空格数字不输出的代码:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void reverse(char *str) {
int len = strlen(str);
int i, j;
char temp;
for (i = 0, j = len - 1; i < j; i++, j--) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
int main() {
char str[100];
int i, j;
printf("请输入一个字符串:");
fgets(str, 100, stdin);
str[strcspn(str, "\n")] = '\0'; // 去掉fgets读入的换行符
reverse(str);
for (i = 0; str[i] != '\0'; i++) {
if (!isspace(str[i]) && !isdigit(str[i])) {
putchar(str[i]);
}
}
printf("\n");
return 0;
}
```
代码说明:
1. `reverse`函数用于将字符串逆序,使用双指针法,将字符串首尾对应位置的字符交换即可。
2. `main`函数中,使用`fgets`函数读入字符串,去掉字符串末尾的换行符。
3. 调用`reverse`函数将字符串逆序。
4. 遍历逆序后的字符串,如果当前字符不是空格也不是数字,则输出该字符。
相关问题:
阅读全文