C语言 给字符串去空格
时间: 2023-12-24 10:04:22 浏览: 93
可以使用一个循环来遍历字符串中的每个字符,如果该字符是空格,则将其删除。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
void remove_spaces(char* str) {
int len = strlen(str);
int i, j;
for (i = 0, j = 0; i < len; i++) {
if (str[i] != ' ') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[100];
printf("Enter a string: ");
fgets(str, 100, stdin);
remove_spaces(str);
printf("After removing spaces: %s\n", str);
return 0;
}
```
在上面的代码中,`remove_spaces()` 函数接受一个字符串作为参数,并将其中的空格删除。主函数中使用 `fgets()` 函数从标准输入获取用户输入的字符串,并调用 `remove_spaces()` 函数来删除其中的空格。最后,输出修改后的字符串。
相关问题
C语言输入字符串有空格
在C语言中,当你需要从用户那里输入含有空格的字符串时,通常会使用`fgets()`函数配合数组来存储。`fgets()`函数可以读取一行文本,包括空格,并将其存储在一个字符数组中。
下面是一个简单的例子:
```c
#include <stdio.h>
#define MAX_LINE_LENGTH 80
int main() {
char input[MAX_LINE_LENGTH]; // 定义足够大的数组来存储字符串
printf("请输入一个包含空格的字符串: ");
fgets(input, sizeof(input), stdin); // 读入直到换行符('\n'),但不包括它
// 去掉字符串末尾的换行符,如果有的话
if (input[strlen(input) - 1] == '\n') {
input[strlen(input) - 1] = '\0'; // 将最后一个字符设为'\0',结束字符串
}
printf("你输入的字符串是: %s\n", input);
return 0;
}
```
在这个示例中,用户输入的带有空格的字符串会被存储在`input`数组中,然后程序显示所输入的内容。记得处理字符串结尾可能存在的换行符。
c语言 将字符串中空格删去
在C语言中,您可以使用`string.h`库中的函数`strcpy()`和`isspace()`来删除字符串中的空格。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void removeSpaces(char *str)
{
int i, j;
for (i = 0, j = 0; str[i]; i++)
if (!isspace(str[i]))
str[j++] = str[i];
str[j] = '\0';
}
int main()
{
char str[] = "This is a string with spaces";
printf("Original String: %s\n", str);
removeSpaces(str);
printf("String with spaces removed: %s\n", str);
return 0;
}
```
这将输出:
```
Original String: This is a string with spaces
String with spaces removed: Thisisastringwithspaces
```
请注意,`isspace()`函数用于检查给定字符是否为空格字符。如果字符为空格,则该函数返回非零值,否则返回零。
阅读全文