c语言去除字符串中的空格
时间: 2023-06-24 13:43:02 浏览: 61
可以通过遍历字符串中的每个字符,将非空格字符复制到另一个字符串中来去除空格。具体步骤如下:
1. 定义两个字符数组,一个用于存放原始字符串,一个用于存放去除空格后的字符串。
2. 遍历原始字符串中的每个字符,判断是否为空格。
3. 如果当前字符不是空格,则将其复制到另一个字符数组中。
4. 最后在新的字符串末尾加上字符串结束符 '\0'。
以下是一段示例代码:
```
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100];
int i, j = 0;
printf("请输入一个字符串:");
fgets(str1, 100, stdin);
for (i = 0; i < strlen(str1); i++) {
if (str1[i] != ' ') {
str2[j++] = str1[i];
}
}
str2[j] = '\0';
printf("去除空格后的字符串为:%s\n", str2);
return 0;
}
```
注意:以上代码只是其中一种去除空格的方法,还有其他更高效的实现方式。
相关问题
用C语言去除字符串中多余空格
以下是一种用C语言去除字符串中多余空格的方法:
1. 定义一个字符数组来存储字符串,例如:char str[100];
2. 使用fgets()函数从标准输入中读取字符串,例如:fgets(str, 100, stdin);
3. 遍历字符串,逐个字符判断,若是空格字符,则继续向后遍历直到找到一个非空格字符为止,并将该非空格字符复制到当前位置;
4. 将最后一个非空格字符的后面位置置为'\0',表示字符串结束;
5. 最后输出处理后的字符串,例如:printf("%s\n", str)。
下面是一个示例代码,演示了如何使用这种方法去除字符串中多余空格:
```c
#include <stdio.h>
#include <ctype.h>
int main()
{
char str[100];
fgets(str, 100, stdin);
int i, j;
for (i = j = 0; str[i] != '\0'; i++) {
if (isspace(str[i])) {
while (isspace(str[i + 1])) {
i++;
}
}
str[j++] = str[i];
}
str[j] = '\0';
printf("%s\n", str);
return 0;
}
```
运行该程序后,输入一个字符串,例如:" hello world ",会输出去除多余空格后的结果:"hello world"。
c语言去掉字符串中的空格
可以通过循环遍历字符串中的每一个字符,判断是否为空格,如果不是则将其复制到另一个字符串中。最后将新字符串末尾加上空字符'\0'结束即可。
示例代码如下:
```c
#include <stdio.h>
#include <string.h>
void removeSpace(char *str) {
int i, j = 0;
for (i = 0; str[i] != '\0'; i++) {
if (str[i] != ' ') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[100];
printf("请输入字符串:");
gets(str);
removeSpace(str);
printf("去除空格后的字符串为:%s", str);
return 0;
}
```
注意,上述代码中使用了 gets 函数获取用户输入,gets 函数存在安全问题,建议使用 fgets 函数代替。