帮我编写一个C语言程序:设计一个函数,接收一个指向字符串的指针,返回指向该字符串中第一个空格字符的位置,如果未找到空格字符,则返回-1. 注意:字符串结尾标识符为'\0'
时间: 2024-02-27 17:53:23 浏览: 20
好的,这是您需要的 C 语言程序:
```c
#include <stdio.h>
int find_space(char* str) {
int pos = 0;
while (*str != '\0') {
if (*str == ' ') {
return pos;
}
pos++;
str++;
}
return -1;
}
int main() {
char str[] = "Hello World!";
int pos = find_space(str);
if (pos == -1) {
printf("No space found.\n");
} else {
printf("Space found at position %d.\n", pos);
}
return 0;
}
```
函数 `find_space` 接收一个指向字符串的指针 `str`,并遍历字符串中的每个字符,如果找到了空格字符,则返回该字符在字符串中的位置,否则返回 -1。在 `main` 函数中,我们定义了一个字符串 `str` 并调用 `find_space` 函数来寻找其中的空格字符。
相关问题
写一段C语言,要求:设计一个函数,接收一个指向字符串的指针,返回指向该字符串中第一个空格字符的位置,如果未找到空格字符,则返回-1.
可以这样实现:
```
int find_space(char *str) {
int i = 0;
while (str[i] != '\0') { // 循环遍历字符串
if (str[i] == ' ') { // 找到空格字符
return i; // 返回位置
}
i++;
}
return -1; // 未找到空格字符
}
```
这个函数接收一个指向字符串的指针 `str`,然后循环遍历字符串,判断是否有空格字符,如果有则返回它的位置,如果循环结束还未找到空格字符,则返回 -1 表示未找到。
用c语言:用指针的方法编写函数实现,计算一个字符在一个字符串中出现的次数
以下是用指针的方法编写函数实现,计算一个字符在一个字符串中出现的次数的C语言代码:
```c
#include <stdio.h>
int count_char(char *str, char ch) {
int count = 0;
while (*str != '\0') {
if (*str == ch) {
count++;
}
str++;
}
return count;
}
int main() {
char str[100];
char ch;
printf("Enter a string: ");
gets(str);
printf("Enter a character to count: ");
scanf("%c", &ch);
int count = count_char(str, ch);
printf("'%c' appears %d times in '%s'\n", ch, count, str);
return 0;
}
```
首先定义了一个`count_char`函数,它接受一个字符串指针`str`和一个字符`ch`作为参数。然后,使用一个`while`循环遍历字符串中的每个字符,如果当前字符等于`ch`,则将计数器`count`增加1。最后,返回计数器的值。
在`main`函数中,首先使用`gets`函数获取用户输入的字符串,并使用`scanf`函数获取用户输入的字符。然后,调用`count_char`函数计算字符出现的次数,并打印结果。
注意,这种实现方式假设输入的字符串中不含有空格等分隔符,否则只会计算到第一个分隔符为止。