输入字符串,删除字符串中的空格,并输出删除空格后的字符串。c语言
时间: 2024-11-12 15:41:24 浏览: 66
在 C 语言中,你可以通过遍历输入字符串并跳过空格字符来删除字符串中的空格。这里是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
void removeSpaces(char* str) {
int i = 0;
while (str[i]) { // 遍历直到遇到字符串结束符'\0'
if (str[i] != ' ') { // 如果不是空格,将其添加到新位置
str[i + 1] = str[i]; // 将非空格字符移到下一个位置
}
i++; // 移动指针到下一个字符
}
str[i] = '\0'; // 在最后添加空字符,终止字符串
}
int main() {
char input[100];
printf("请输入一个包含空格的字符串: ");
fgets(input, sizeof(input), stdin); // 从标准输入获取字符串
// 删除空格后,需要移除换行符
input[strcspn(input, "\n")] = '\0';
removeSpaces(input);
printf("删除空格后的字符串: %s\n", input);
return 0;
}
```
这个程序会提示用户输入一个字符串,然后去除其中的所有空格并打印结果。
相关问题
输入一串字符串,删除字符串中的空格用c语言
在C语言中,你可以通过遍历输入的字符串,并判断每个字符是否为空格,如果不是,则将其添加到新的字符串中。这里是一个简单的示例函数来完成这个任务:
```c
#include <stdio.h>
#include <string.h>
// 函数声明,用于删除字符串中的空格
void removeSpaces(char* str, char* result);
int main() {
char input[] = "Hello World! This is a test.";
char output[100]; // 假设输出最多98个字符(包括结束符)
removeSpaces(input, output);
printf("原字符串: %s\n", input);
printf("处理后的字符串: %s\n", output);
return 0;
}
// 函数定义,实际操作
void removeSpaces(char* str, char* result) {
int i = 0; // 结果字符串的指针
for (int j = 0; str[j] != '\0'; j++) { // 遍历输入字符串
if (str[j] != ' ') { // 如果不是空格
result[i++] = str[j]; // 将非空格字符复制到结果
}
}
result[i] = '\0'; // 结束字符串,防止溢出
}
```
在这个例子中,`removeSpaces`函数会修改`result`数组,使得其只包含输入字符串中的非空格字符。在`main`函数中,你可以看到原始字符串和处理后的结果。
c语言中编写一个函数,用来删除字符串中的所有空格,要求在主函数中输入一个字符串,删除所有空格 后的字符串在主函数中输出。
以下是 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("请输入一个字符串:");
fgets(str, sizeof(str), stdin);
removeSpaces(str);
printf("删除空格后的字符串为:%s", str);
return 0;
}
```
输入一个字符串后,调用 `removeSpaces()` 函数删除其中的所有空格,然后在主函数中输出删除空格后的字符串。
注意:这个函数只能删除空格,不能删除其它空白字符,如制表符等。
阅读全文