c语言字符串去除空格
时间: 2023-12-12 20:05:42 浏览: 33
以下是C语言实现字符串去除空格的代码:
```c
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';
}
```
该函数的实现方法是遍历字符串中的每个字符,如果该字符不是空格,则将其复制到新的字符串中。最后,将新字符串的末尾设置为'\0',以表示字符串的结束。
需要注意的是,该函数只能去除字符串中的空格,而不能去除其他空白字符,如制表符、换行符等。
相关问题
C语言字符串去掉空格
我们可以使用指针来实现字符串去掉空格的操作。具体步骤如下:
1. 定义一个指向字符串的指针,用于遍历字符串。
2. 定义一个指向新字符串的指针,用于存储去掉空格后的字符串。
3. 遍历原始字符串,如果当前字符不是空格,则将其复制到新字符串中;否则跳过该字符。
4. 遍历结束后,在新字符串末尾添加结束符'\0'。
示例代码如下:
```c
#include <stdio.h>
#include <string.h>
void remove_space(char *str) {
char *p = str; // 原始字符串指针
char *q = str; // 新字符串指针
while (*p) {
if (*p != ' ') {
*q = *p;
q++;
}
p++;
}
*q = '\0'; // 在新字符串末尾添加结束符
}
int main() {
char str[] = " C 语言 ";
printf("原始字符串:%s\n", str);
remove_space(str);
printf("去掉空格后的字符串:%s\n", str);
return 0;
}
```
运行结果如下:
```
原始字符串: C 语言
去掉空格后的字符串:C语言
```
c语言字符串输入空格
在C语言中,如果你想要输入含有空格的字符串,可以使用`fgets`函数。`fgets`函数可以读取一行文本,包括空格,并将其保存在指定的字符数组中。以下是一个示例代码:
```c
#include <stdio.h>
int main() {
char str[100]; // 声明一个足够大的字符数组来存储字符串
printf("请输入字符串:");
fgets(str, sizeof(str), stdin);
printf("您输入的字符串是:%s\n", str);
return 0;
}
```
在上述代码中,我们使用`fgets`函数来读取用户输入的字符串,并将其保存在`str`字符数组中。`fgets`函数需要三个参数:要存储输入的字符数组,数组的大小,以及输入来源(这里使用标准输入`stdin`)。这样就可以接受含有空格的字符串作为输入了。
需要注意的是,`fgets`函数会将输入中的换行符也读取进来,因此在输出时可能会有额外的换行。如果你想去掉字符串末尾的换行符,可以使用`strcspn`函数:
```c
str[strcspn(str, "\n")] = '\0';
```
以上代码可以去掉字符串末尾的换行符。