编写一个C语言程序,删除字符串中的空格。首先输入可以包含空格的字符串到一个字符数组中,然后将删除空格的字符串保存到另外的字符数组中。 例如,输入含有空格的字符串:what is your name<回车> 删除空格后的字符串: whatisyourname
时间: 2024-09-16 17:06:09 浏览: 76
在C语言中,你可以通过遍历原字符串并检查每个字符是否为空格的方式来实现这个功能。下面是一个简单的示例程序,它会使用`strncpy`函数从源字符串复制非空格字符到目标字符串:
```c
#include <stdio.h>
#include <string.h> // 引入strncpy库
void removeSpaces(char* src, char* dest, int maxLength) {
int i = 0; // 记录目标字符串的位置
for (int j = 0; src[j] != '\0'; ++j) { // 遍历源字符串
if (src[j] != ' ') { // 如果不是空格
dest[i++] = src[j]; // 将字符复制到目标字符串
}
if (i == maxLength - 1) { // 当达到最大长度时停止复制
dest[i] = '\0'; // 确保目标字符串结尾有'\0'
break;
}
}
}
int main() {
char input[100], result[100]; // 定义两个字符数组
printf("请输入含有空格的字符串: ");
fgets(input, sizeof(input), stdin); // 读取用户输入,包括换行符
input[strcspn(input, "\n")] = '\0'; // 移除fgets读取的换行符
int len = strlen(input); // 获取输入字符串长度
removeSpaces(input, result, len); // 删除空格并保存到result
printf("删除空格后的字符串: %s\n", result);
return 0;
}
```
当你运行此程序时,按照提示输入含有空格的字符串,它会删除其中的空格并打印结果。
阅读全文