输入一个字符串,统计该字符串的字符个数。 要求: 使用指针实现统计。 不能使用strlen函数。 字符串中包含空格。
时间: 2024-03-25 19:40:55 浏览: 86
好的,可以使用指针和字符数组来实现。以下是实现代码:
```c
#include <stdio.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
printf("请输入一个字符串:\n");
fgets(str, MAX_LEN, stdin);
int count = 0;
char* p = str;
while (*p != '\0') {
if (*p != '\n') { // 排除换行符
count++;
}
p++;
}
printf("该字符串的字符个数为:%d\n", count);
return 0;
}
```
代码中使用了 `fgets()` 函数获取输入的字符串,遍历字符串时使用指针 `p`,判断字符是否为换行符并统计字符个数。
相关问题
使用指针不使用strlen函数输入一个字符串,统计该字符串的字符个数
好的,可以使用指针和字符数组来实现。以下是实现代码:
```c
#include <stdio.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
printf("请输入一个字符串:\n");
fgets(str, MAX_LEN, stdin);
int count = 0;
char* p = str;
while (*p != '\0') {
count++;
p++;
}
printf("该字符串的字符个数为:%d\n", count-1); // 减1是为了排除换行符
return 0;
}
```
代码中使用了 `fgets()` 函数获取输入的字符串,遍历字符串时使用指针 `p`,统计字符个数。注意,因为 `fgets()` 函数会在字符串末尾添加一个换行符,所以最后输出字符个数时需要减1。
输入一个字符串。要求使用指针的方法遍历该字符串,并统计该字符串的长度。不允许使用strlen()函数。
好的,这个问题我可以回答。以下是代码实现:
```c++
#include <stdio.h>
int str_len(char* str) {
int len = 0;
while (*str != '\0') {
len++;
str++;
}
return len;
}
int main() {
char str[100];
printf("请输入字符串:");
scanf("%s", str);
int len = str_len(str);
printf("字符串长度为:%d\n", len);
return 0;
}
```
首先定义一个函数 `str_len`,用来统计字符串的长度。在该函数中使用指针遍历字符串,遇到 `\0` 字符结束。然后在主函数中输入字符串,调用 `str_len` 函数获取长度并输出。
阅读全文