C语言中怎么消除字符串中的空格
时间: 2023-09-12 10:07:32 浏览: 781
在C语言中,可以使用循环遍历字符串的每个字符,判断是否为空格。如果是空格,则将后面的字符向前移动一位,直到字符串结尾或者遇到非空格字符为止。
以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
void removeSpaces(char* str)
{
int i, j;
for (i = 0, j = 0; str[i]; i++)
{
if (str[i] != ' ')
str[j++] = str[i];
}
str[j] = '\0';
}
int main()
{
char str[100];
printf("Enter a string: ");
fgets(str, 100, stdin);
removeSpaces(str);
printf("String after removing spaces: %s\n", str);
return 0;
}
```
在上面的代码中,`removeSpaces`函数接受一个指向字符串的指针,并且使用两个变量 `i` 和 `j` 来遍历字符串。如果当前字符不是空格,则将其存储在 `j` 索引处,然后 `j` 自增,表示下一个非空格字符的位置。最后,在字符串的末尾添加一个空字符,以表示字符串的结尾。
相关问题
C语言中去除字符串中空格
可以使用C语言中的字符串处理函数`strcpy`和`isspace`来去除字符串中的空格。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void remove_spaces(char *str) {
char *temp = str;
while (*str) {
if (!isspace((unsigned char)*str))
*temp++ = *str;
str++;
}
*temp = '\0';
}
int main() {
char str[100];
printf("Enter a string: ");
fgets(str, 100, stdin);
remove_spaces(str);
printf("String after removing spaces: %s\n", str);
return 0;
}
```
在上面的代码中,`remove_spaces`函数接收一个指向字符串的指针,并将字符串中的空格移除。然后,我们在`main`函数中读取用户输入的字符串,调用`remove_spaces`函数,并将移除空格后的字符串打印输出。
C语言怎么把字符串中空格去除
可以使用C语言中的字符串处理函数 `strcpy()` 和 `strcat()` 来去除字符串中的空格。具体操作如下:
1. 遍历字符串,将空格替换为 '\0'。
2. 将非空格字符拷贝到新的字符串中。
以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
void removeSpaces(char* str) {
int i, j;
for (i = 0, j = 0; str[i] != '\0'; i++) {
if (str[i] != ' ') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[MAX_LEN];
printf("请输入带有空格的字符串:");
fgets(str, MAX_LEN, stdin);
removeSpaces(str);
printf("去除空格后的字符串为:%s\n", str);
return 0;
}
```
输入示例:
```
请输入带有空格的字符串:hello world
```
输出示例:
```
去除空格后的字符串为:helloworld
```
阅读全文