用c语言删除字符串中的所有空格。
时间: 2023-06-13 11:03:32 浏览: 106
以下是用 C 语言删除字符串中所有空格的示例代码:
```
#include <stdio.h>
#include <string.h>
void removeSpaces(char *str)
{
int i,j;
for(i=0; str[i]; i++)
{
while(str[i] == ' ')
{
for(j=i; str[j]; j++)
{
str[j] = str[j+1];
}
str[j] = '\0'; // 在字符串的最后加上结束符
}
}
}
int main()
{
char str[100];
printf("请输入一个字符串:");
fgets(str, 100, stdin); // 从标准输入读取字符串
removeSpaces(str);
printf("删除所有空格后的字符串为:%s", str);
return 0;
}
```
运行示例:输入字符串 " hello world ",输出结果为 "helloworld"。
相关问题
C语言去除字符串首尾的空格
在C语言中,去除字符串首尾的空格可以通过编写一个函数来实现。这个函数遍历字符串,找到字符串开头和结尾的非空格字符,然后将开头的空格用第一个非空格字符替换,并将结尾的非空格字符后面添加一个字符串结束符'\0'。以下是一个简单的实现示例:
```c
#include <stdio.h>
#include <string.h>
void trim_spaces(char *str) {
int start, end;
if (str == NULL) {
return;
}
// 找到第一个非空格字符的位置
for (start = 0; str[start] != '\0' && isspace(str[start]); ++start);
// 找到最后一个非空格字符的位置
for (end = strlen(str) - 1; end >= 0 && isspace(str[end]); --end);
// 如果字符串全为空格或只包含一个空格,则结束字符串
if (start > end) {
str[0] = '\0';
} else {
// 将开头的空格用第一个非空格字符替换
char *src = str + start;
char *dst = str;
while (*src != '\0') {
*dst++ = *src++;
}
// 在结尾添加字符串结束符
dst[end - start] = '\0';
}
}
int main() {
char myString[] = " Hello, World! ";
trim_spaces(myString);
printf("Trimmed string: [%s]\n", myString);
return 0;
}
```
这段代码定义了一个`trim_spaces`函数,它接受一个字符串参数并去除其首尾的空格。在`main`函数中,我们创建了一个包含前后空格的字符串,并调用`trim_spaces`函数来处理它,然后输出处理后的结果。
c语言删除字符串空格
以下是C语言删除字符串空格的代码实现:
```c
#include <stdio.h>
void del_space(char *s1) {
char *s2;
s2 = s1;
while (*s1) {
if (*s1 == ' ') {
s1++;
} else {
*s2 = *s1;
s1++;
s2++;
}
}
*s2 = '\0';
}
int main(int argc, char *argv[]) {
char s[] = " abc cd fg";
puts(s);
del_space(s);
puts(s);
return 0;
}
```
该代码通过遍历字符串,将空格替换为空字符,从而实现了删除字符串中的空格。
阅读全文