c语言编写程序,功能是删除输入字符串中的所有空格,字符串长度不超过30
时间: 2024-02-03 21:13:57 浏览: 107
删除字符串空格C语言
5星 · 资源好评率100%
下面是一个简单的 C 语言程序,可以删除输入字符串中的所有空格:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[31];
int i, j;
printf("请输入字符串:");
scanf("%[^\n]", str); // 读入一行字符串,不包括换行符
for (i = 0, j = 0; i < strlen(str); i++) {
if (str[i] != ' ') {
str[j] = str[i];
j++;
}
}
str[j] = '\0'; // 末尾添加空字符,表示字符串结束
printf("删除空格后的字符串为:%s\n", str);
return 0;
}
```
上述程序中,输入字符串存储在字符数组 str 中,使用 scanf 函数读入一行字符串(注意格式化字符串中使用 %[^\n],表示读入除了换行符外的所有字符)。然后使用循环遍历字符串,如果遇到空格,则跳过该字符;如果不是空格,则将该字符复制到新的位置(用 j 记录新字符串的下标),最后在新字符串末尾添加空字符。
需要注意的是,由于字符数组 str 的长度为 31,因此输入字符串长度不能超过 30,否则会发生缓冲区溢出。
阅读全文