判断字符串里有多少个空格c语言
时间: 2023-08-04 12:04:27 浏览: 53
可以用循环和条件语句遍历字符串,如果遇到空格则计数器加1,最终得到空格的数量。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int i, len, count = 0;
printf("Enter a string: ");
fgets(str, 100, stdin);
len = strlen(str);
for (i = 0; i < len; i++) {
if (str[i] == ' ') {
count++;
}
}
printf("The string contains %d spaces.\n", count);
return 0;
}
```
这里用了 `fgets()` 来获取字符串,它会读取用户输入的一行字符串并加上换行符存储在 `str` 中。然后用 `strlen()` 获取字符串的长度,再用循环遍历每个字符,如果是空格则计数器加1。最后输出空格的数量。
相关问题
用c语言判断字符串空格个数
可以使用如下代码来判断字符串中空格的个数:
```c
#include <stdio.h>
int countSpaces(char str[]) {
int i, count = 0;
for (i = 0; str[i] != '\0'; i++) {
if (str[i] == ' ') {
count++;
}
}
return count;
}
int main() {
char str[] = "Hello world! This is a test.";
int spaces = countSpaces(str);
printf("The number of spaces in the string is: %d\n", spaces);
return 0;
}
```
在上面的代码中,`countSpaces()` 函数接受一个字符串作为输入,并遍历字符串中的每个字符。如果当前字符是空格,则将计数器 `count` 加一。最后,函数返回空格的总数。在 `main()` 函数中,我们使用一个测试字符串来测试 `countSpaces()` 函数。
c语言删除字符串中的空格
在C语言中,可以通过遍历字符串中的每一个字符,并判断字符是否为空格来删除字符串中的空格。
首先,我们需要定义一个新的字符串,用来存储删除空格后的结果。然后,使用一个循环来遍历原始字符串中的每一个字符。在循环中,判断当前字符是否为空格,如果不是空格,则将该字符添加到新的字符串中。最后,将新的字符串的末尾设置为字符串结束符号'\0',即完成了删除空格的操作。
下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
void removeSpaces(char* str) {
int i, j;
for (i = 0, j = 0; str[i] != '\0'; i++) {
if (str[i] != ' ') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[100];
printf("请输入一个字符串:");
gets(str);
removeSpaces(str);
printf("删除空格后的字符串为:");
puts(str);
return 0;
}
```
在这个示例代码中,我们使用了C语言中的字符串处理函数`gets`和`puts`来读取和输出字符串。需要注意的是,`gets`函数在实际应用中存在一定的安全问题,所以在真实的代码中,建议使用安全的字符串输入函数(如`fgets`函数)来替代。
另外,这个示例代码只会删除空格,如果需要删除其他的空白字符(如制表符、换行符等),可以根据实际需求进行相应的修改。