请用c语言删除多余的空格
时间: 2023-03-31 18:00:57 浏览: 61
我可以为您提供删除多余空格的 C 语言代码:
```c
#include <stdio.h>
#include <string.h>
void removeSpaces(char* str)
{
int i, j;
for (i = , j = ; str[i]; i++)
{
if (str[i] != ' ')
str[j++] = str[i];
}
str[j] = '\';
}
int main()
{
char str[100];
printf("请输入一个字符串:");
fgets(str, 100, stdin);
removeSpaces(str);
printf("删除多余空格后的字符串为:%s", str);
return ;
}
```
希望能对您有所帮助。
相关问题
c语言如何删除空格
在C语言中,要删除字符串中的空格,可以使用以下方法:
1. 使用循环遍历字符串中的每个字符,如果该字符是空格,则将其删除。
```c
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';
}
```
2. 使用标准库函数strtok()将字符串分割成单词,并将单词拼接起来,从而删除空格。
```c
void removeSpaces(char* str) {
char* token;
char* tmp = malloc(strlen(str) + 1); // 分配临时空间
int i = 0;
token = strtok(str, " "); // 以空格为分隔符分割字符串
while (token != NULL) {
strcpy(tmp + i, token);
i += strlen(token);
token = strtok(NULL, " ");
}
strcpy(str, tmp); // 将拼接后的字符串赋值给原字符串
free(tmp); // 释放临时空间
}
```
这两种方法都可以删除字符串中的空格,具体选择哪种方法取决于您的需求和代码实现的复杂度。
c语言删除左侧空格键
要删除字符串左侧的空格,可以使用以下代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int i, j;
printf("Enter a string: ");
fgets(str, sizeof(str), stdin); // 从标准输入读取字符串
// 寻找第一个非空格字符的下标
for (i = 0; str[i] == ' '; i++);
// 将非空格字符向左移动
if (i > 0) {
j = 0;
while (str[i] != '\0') {
str[j++] = str[i++];
}
str[j] = '\0'; // 在末尾添加字符串结束符
}
printf("Trimmed string: %s\n", str);
return 0;
}
```
在上面的代码中,我们使用了 `fgets()` 函数从标准输入读取字符串。然后,我们使用一个循环来找到第一个非空格字符的下标。接下来,我们将非空格字符向左移动并在末尾添加一个字符串结束符。最后,我们打印出修剪过的字符串。