从键盘输入一个字符串,输出这个字符串的长度,(不能使用strlen)
时间: 2024-02-13 10:04:24 浏览: 73
好的,这是一个经典的问题,可以使用循环来实现计算字符串长度的功能。以下是一个示例代码:
#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;
}
在这个程序中,我们使用了一个字符数组 str
来存储用户输入的字符串,然后通过循环遍历数组来计算字符串的长度。具体来说,我们初始化一个计数器 len
为 0,然后在循环中判断数组中的每一个字符是否为字符串的结尾符号 \0
,如果不是,我们就将计数器加 1。最终,计数器的值就是字符串的长度。
相关问题
c语言从键盘输入一个字符串,输出这个字符串的长度(不能使用strlen)。
可以使用循环遍历字符串并计数的方式来求出字符串的长度,具体实现代码如下:
#include <stdio.h>
int main() {
char str[100];
int len = 0;
printf("请输入一个字符串:");
scanf("%s", str);
// 循环遍历字符串,计数每一个字符,直到遇到字符串结束符'\0'
while (str[len] != '\0') {
len++;
}
printf("字符串长度为:%d\n", len);
return 0;
}
需要注意的是,输入的字符串长度不能超过数组大小,否则会发生数组越界的错误。可以使用fgets函数替代scanf函数来输入字符串,更加安全。
用c语言从键盘输入一个字符串,输出这个字符串的长度(不能使用strlen)。
好的,这可以通过循环遍历字符串来实现。以下是一个示例代码:
#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;
}
在这个代码中,我们首先定义了一个长度为100的字符数组str
,并从键盘输入一个字符串保存在这个数组中。然后,我们使用一个while
循环遍历这个字符串,计算出它的长度。具体来说,我们通过判断当前字符是否为字符串的结束符\0
来判断循环何时结束。最后,我们输出字符串的长度。
需要注意的是,在使用scanf
函数从键盘输入字符串时,需要保证输入的字符串长度不超过str
数组的长度,否则会出现缓冲区溢出的问题。为了避免这个问题,可以使用fgets
函数来输入字符串,具体方式可以参考下面的代码:
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int len = 0;
printf("请输入一个字符串:");
fgets(str, 100, stdin);
str[strlen(str) - 1] = '\0'; // 去掉fgets读入的换行符
// 计算字符串的长度
while (str[len] != '\0') {
len++;
}
// 输出字符串的长度
printf("字符串的长度为:%d\n", len);
return 0;
}
在这个代码中,我们使用了fgets
函数来输入字符串,并且在字符串末尾添加了一个结束符\0
。