利用C语言,编写一个程序,清除用户输入字符串中的空格符并将之输出。(例如用户输入”ab”,输出”ab”) /*
时间: 2024-09-28 17:07:46 浏览: 35
C语言实现输入一个字符串后打印出该字符串中字符的所有排列
在C语言中,你可以通过遍历用户输入的字符串,并使用`isspace()`函数检查每个字符是否为空格,如果不是,则将其添加到新的字符串中。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
// 函数用来去除字符串中的空格并返回处理后的字符串
char* removeSpaces(char* input) {
int len = strlen(input);
char* result = (char*)malloc(len + 1); // 为新字符串分配空间
if (!result) {
printf("Memory allocation failed.\n");
return NULL;
}
int j = 0; // 新字符串的索引
for (int i = 0; i < len; ++i) {
if (!isspace(input[i])) { // 如果不是空格
result[j++] = input[i]; // 将字符复制到结果
}
}
result[j] = '\0'; // 结束字符串,加上终止符
return result;
}
int main() {
char input[100];
printf("Enter a string with spaces: ");
fgets(input, sizeof(input), stdin);
// 移除行尾换行符
input[strcspn(input, "\n")] = '\0';
char* output = removeSpaces(input);
if (output != NULL) {
printf("Output without spaces: %s\n", output);
free(output); // 释放内存
} else {
printf("No output to print.\n");
}
return 0;
}
```
在这个程序中,`removeSpaces`函数接收一个字符串作为输入,创建一个新的字符串并逐个字符地将非空格字符复制过去。在`main`函数中,我们获取用户的输入,然后调用这个函数去除其中的空格。
阅读全文