确定字符串长度不使用strlen函数(C语言,用指针编写一个求字符串长度的函数(不要用strlen函数))

本文目录
- C语言,用指针编写一个求字符串长度的函数(不要用strlen函数)
- 编写一个C语言程序,功能为:输入一个字符串,不使用strlen函数,求出该字符串的长度
- (3)编写程序,计算字符串有效长度,不使用strlen函数要求画出流程图或N-S
- 从键盘输入五个字符串,分别求出字符串中长度最长和最短的字符串,请编程(要求:不要使用strlen(_)函数
- 输入两个字符串,输出其中长度值大的字符串(要求“不“使用strlen()函数)
- gets输入一个字符串,不用字符串strlen函数,自定义函数,计算字符串的长度
- 编写程序,输入一个字符串,计算出这个字符串的长度(要求不能使用strlen函数,使用两种方法,数组和指针)
- C编写程序,求所输入字符串的长度(要求不能用strlen( )函数直接求)
C语言,用指针编写一个求字符串长度的函数(不要用strlen函数)
#include 《stdio.h》
int len(char *s)
{
char *p;
for(p=s;*p;p++);
return p-s;
}
int main()
{
printf("%d\n",len("Hello World"));
return 0;
}
编写一个C语言程序,功能为:输入一个字符串,不使用strlen函数,求出该字符串的长度
main()
{
char a,*p;
int m=0;
scanf("%s",a);
for(p=a;(*p)!=0;p++)m++;
printf("%s的长度是%d。\n",a,m);
}
有什么问题请留言。
(3)编写程序,计算字符串有效长度,不使用strlen函数要求画出流程图或N-S
你可以编写一个函数来计算字符串的有效长度,而不使用 strlen 函数。这个函数可以接受一个字符串作为参数,然后使用循环来遍历字符串中的每个字符,直到遇到空字符 ’\0’ 为止。每次循环时,都将计数器加一。最后,返回计数器的值作为字符串的长度。
下面是一个示例实现:
#include 《stdio.h》
int string_length(char *str) {
int length = 0;
while (*str != ’\0’) {
length++;
str++;
}
return length;
}
int main() {
char str = "Hello, world!";
int length = string_length(str);
printf("The length of the string is: %d\n", length);
return 0;
}
上面的代码定义了一个 string_length 函数,它接受一个字符串作为参数,并返回字符串的长度。在 main 函数中,我们调用了这个函数来计算字符串 str 的长度,并将结果输出到屏幕上。
下面是这个程序的流程图:
+------------+
| Start |
| |
+------+-----+
|
v
+------+-----+
| Initialize |
| length = 0 |
+------+-----+
|
v
+------+-----+
| While *str |
| != ’\0’ |
+------+-----+
|
v
+------+-----+
| Increment |
| length |
+------+-----+
|
v
+------+-----+
| Increment |
| str |
+------+-----+
|
v
+--------+-------+
| Return length |
| |
+--------+-------+
|
v
+-----+------+
| End |
| |
+------------+
从键盘输入五个字符串,分别求出字符串中长度最长和最短的字符串,请编程(要求:不要使用strlen(_)函数
#include
《stdio.h》
#include
《string.h》
int
length(char
*s)
//计算字符串长度
{
int
len
=
0;
for(int
i=0;
s!=’\0’;
i++)
len
++;
return
len;
}
int
main()
{
int
minlen
=
110,
maxlen
=
0;
//给最小、最大长度赋初值
int
min
=
0,
max
=
0;
//给最小、最大字符串的下标赋初值
char
s;
printf("输入五个字符串:\n");
for(int
i=0;
i《5;
i++)
{
gets(s);
if(minlen
》
length(s))
//找最短的字符串
{
minlen
=
length(s);
min
=
i;
}
if(maxlen
《
length(s))
//找最长的字符串
{
maxlen
=
length(s);
max
=
i;
}
}
printf("字符串中长度最短的字符串:
%s\n",s);
printf("字符串中长度最长的字符串:
%s\n",s);
return
0;
}
输入两个字符串,输出其中长度值大的字符串(要求“不“使用strlen()函数)
#include "stdio.h"
int compare(char *a);
int main(){
char a;
int len1,len2;
printf("please input two strings:\n");
scanf("%s",a);
scanf("%s",b);
len1=compare(a);
len2=compare(b);
if(len1》=len2){
printf("最大字符串长度为:%d\n",len1);
}
else{
printf("最大字符串长度为:%d\n",len2);
}
}
int compare(char *a){
int i=0;
while(a!=’\0’){
i++;
}
return i;
}
gets输入一个字符串,不用字符串strlen函数,自定义函数,计算字符串的长度
可以使用以下代码定义一个函数来计算字符串的长度:
int strlen(char *str) {
int len = 0;
while (*str != ’\0’) {
len++;
str++;
}
return len;
}
该函数接受一个字符串(以字符指针的形式)作为参数,并返回字符串的长度。它通过不断遍历字符串,直到遇到字符串结束符(’\0’)为止,每次遍历都将字符串指针向后移动一位,并累加一个计数器。当字符串遍历完毕时,计数器的值就是字符串的长度。
示例:
char *str = "Hello, World!";
int len = strlen(str); // len = 13
该函数的缺点是,由于它依赖于字符串结束符,因此如果字符串中没有
添加字符串结束符,则无法计算字符串的长度。另外,如果字符串中包含多个字符串结束符,则会导致函数计算错误的长度。
为了避免这些问题,可以改进上述函数,使用另一种方法来计算字符串的长度。例如,可以接收一个字符数组作为参数,并在函数中指定数组的大小。这样,函数就可以遍历整个字符数组,并计算字符串的实际长度,而不会依赖于字符串结束符。
示例:
int strlen(char str, int size) {
int len = 0;
for (int i = 0; i 《 size; i++) {
if (str == ’\0’) {
break;
}
len++;
}
return len;
}
char str = "Hello, World!";
int len = strlen(str, sizeof(str)); // len = 13
编写程序,输入一个字符串,计算出这个字符串的长度(要求不能使用strlen函数,使用两种方法,数组和指针)
1指针,
int Mystrlen(const char * string)
{
int i=0;
while(*(string+i)) i++;
return i;
}
2数组,
int Mystrlen(const char string)
{
int i=0;
while(string) i++;
return i;
}
C编写程序,求所输入字符串的长度(要求不能用strlen( )函数直接求)
strlen的结果要在运行的时候才能计算出来,主要用来计算字符串的长度,不是类型占内存的大小,strlen只能用char*做参数,且必须是以’’\0’’结尾的。
1、第二个元素就是\0
所以得到字符串长度为1
2、\t
\v
\\都是转义字符,为三个字符,后面又是\0,所以长度为3
3、\x69就是16进制的69,十进制为105,查看ascii表对应字符,而\xxx指的是一个八进制值所对应字符,但是\082显示不是,八进制只有0-7的数字,所以这里只是一个\0
和数字
82
字符串长度为1
如果要获得每个数组中有多少个字符可以考虑用sizeof

本文相关文章:
c语言strcat用法(c语言指针实现字符拼接函数strcat)
2025年10月4日 12:30
c语言指针运算符(c语言 指针运算符和指针说明符有什么区别)
2025年9月21日 03:45
更多文章:
struts培训骗局(楚雄java培训学校告诉你如何选择java的学习方向)
2026年1月25日 13:00
redhat系统进程管理器(Redhat linux常用的命令有哪些)
2026年7月31日 19:30
我c语言软件下载(求C++就是C语音的那个软件下载地址..``支持vista版本的!)
2026年6月29日 15:15
matlab求解四元一次方程组(用MATLAB解四元一次方程,急!急!急!谢谢了!!!)
2026年8月23日 13:45
unix系统创建文件的命令(iPad平板电脑上常用Unix命令)
2026年9月3日 15:15
figma怎么读(Figma断网怎么办Figma离线模式操作解读)
2026年9月15日 02:30
用sort函数从大到小排列(在matlab中,我有8个数值以及对应的8个图,如何做到所对应的图像按照数值从大到小的排列)
2026年7月5日 06:30
parentnode属性用来访问元素节点的父节点(如何使用JavaScript完成省市联动效果)
2026年4月29日 17:30












