C语言编程,去掉字符串中的所有空格。
时间: 2024-12-20 07:29:31 浏览: 5
C语言实现去除字符串中空格的简单实例
在C语言编程中,要去掉字符串中的所有空格,可以采用遍历字符串并逐字符处理的方式。通常,我们会创建一个新的字符数组或者动态分配内存来存储不包含空格的新字符串。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 函数原型声明
char* removeSpaces(char* str);
int main() {
char input[] = "Hello World! This is a test.";
char* result = removeSpaces(input);
printf("Original string: %s\n", input);
printf("String without spaces: %s\n", result);
free(result); // 释放动态分配的内存
return 0;
}
// 定义函数,去除字符串中的空格
char* removeSpaces(char* str) {
int len = strlen(str);
char* newStr = (char*)malloc(len + 1); // 动态分配新内存
for (int i = 0; i < len; i++) {
if (str[i] != ' ') {
newStr[i] = str[i];
}
}
newStr[len] = '\0'; // 结束符
// 移除最后一个元素如果它是空格
if (newStr[len - 1] == ' ') {
newStr[--len] = '\0';
}
return newStr;
}
```
在这个例子中,`removeSpaces`函数遍历输入字符串,只将非空格字符复制到新字符串。然后在main函数中,我们打印原始字符串和处理后的无空格字符串。
阅读全文