从键盘录入一个字符串,不使用strlen()函数,计算录入的字符串的长度。
时间: 2024-05-05 17:19:17 浏览: 20
您好!感谢您使用ChitGPT与我进行对话。
您的问题是如何计算录入的字符串的长度,但不使用strlen()函数。这个问题可以通过遍历字符串来实现。您可以使用一个循环来遍历字符串中的每个字符,直到找到字符串的末尾(即'\0')为止。在每次循环中,增加一个计数器。最终计数器的值就是字符串的长度。
以下是实现这个过程的示例代码:
```
#include <stdio.h>
int main() {
char str[100];
int len = 0;
printf("请输入字符串:");
scanf("%s", str);
while (str[len] != '\0') {
len++;
}
printf("字符串的长度是:%d\n", len);
return 0;
}
```
这段代码中,我们定义了一个字符串数组和一个整数变量len来存储字符串的长度。接着,我们使用scanf()函数从键盘读取一个字符串,并通过while循环遍历字符串中的每个字符。当字符为'\0'时,循环结束。最后,我们输出字符串的长度。
希望这个回答对您有帮助!如果您还有其他问题,可以随时询问我。
相关问题
键盘录入一个srcStr字符串,再录入一个delStr字符串。 删除该字srcStr符串中的所有delStr字符串。
好的,这个问题可以回答。可以使用字符串替换函数,将delStr替换为空字符串即可删除。具体代码如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char srcStr[100], delStr[100];
printf("请输入源字符串:");
scanf("%s", srcStr);
printf("请输入要删除的字符串:");
scanf("%s", delStr);
int len = strlen(delStr);
char *p = strstr(srcStr, delStr);
while (p != NULL) {
memmove(p, p + len, strlen(p + len) + 1);
p = strstr(srcStr, delStr);
}
printf("删除后的字符串为:%s\n", srcStr);
return ;
}
```
这个程序可以实现删除srcStr字符串中的所有delStr字符串。
C语言编程实现,从键盘上录入一段文字(40个字符以内),筛选出其中的数字字符,并将它存入一个字符数组。
好的,以下是C语言代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 40
int main() {
char str[MAX_LEN + 1], num[MAX_LEN + 1];
int len, numLen = 0;
printf("请输入一段文字(不超过40个字符):\n");
fgets(str, MAX_LEN + 1, stdin);
len = strlen(str);
for (int i = 0; i < len; i++) {
if (str[i] >= '0' && str[i] <= '9') {
num[numLen++] = str[i];
}
}
num[numLen] = '\0';
printf("筛选出的数字字符为:%s\n", num);
return 0;
}
```
程序先输入一段文字,然后遍历字符串,如果遇到数字字符就将其存入 `num` 数组中。最后输出 `num` 数组中存储的数字字符。需要注意的是,使用 `fgets` 函数输入字符串时,会自动在输入字符串末尾添加一个换行符,因此在存储数字字符时需要手动将末尾添加的换行符替换成字符串结束符 `\0`。