当前位置:编程学习 > C#/ASP.NET >>

利用指针编写求字符串长度的函数strlen()

#include<stdio.h>
  char strlen (char *p)
  {while (*p)p++;
  return () ;
  }
   main()
   {char str[20] ;
    scanf("%s",str);
    strlen(str);
printf("length of str=%d",p-str);
   }
这么写哪里不对,求帮助,我是新生不懂,请大家别见笑啊! --------------------编程问答-------------------- p-str中的p在主函数都没定义,而且strlen 函数返回的是末尾地址,你看你写的return () ;这什么意思? --------------------编程问答-------------------- #include<stdio.h>
   char strlen (char *p)
   {while (*p)p++;
 return (strlen) ;
   }
   main()
   {char str[20],*p ;
   scanf("%s",str);
   strlen(str);
 printf("length of str=%d",p-str);
 }
如果这么写对么?麻烦您了 --------------------编程问答-------------------- 我给你写个简单的,自己体会

#include<stdio.h>

int strlen(char *p)
{
int len=0;
while(*p!='\0')
{
p++;
len++;
}
return len;
}

void main()
{
char str[20];
scanf("%s",str);
int len=0;
len=strlen(str);
printf("the length of string is %d\n",len);
}
--------------------编程问答--------------------

#include <stdio.h>
#include <windows.h>



int strlen(char* p)
{
    int n=0;
    while(*(p++)!='\0')
        n++;
    return n;
}

int main()
{
int i=0;
char path[260];
char winDir[260];
GetSystemDirectoryA(path,260);
GetWindowsDirectoryA(winDir,260);
printf("%d\n",strlen(path));
printf("%d\n",strlen(winDir));
printf("%s\n",path);
printf("%s\n",winDir);
getchar();
}

答案

19
10
C:\WINDOWS\system32
C:\WINDOWS
--------------------编程问答-------------------- 与指针无关,
楼主对函数的基础知识还没入门 --------------------编程问答--------------------
#include<stdio.h>

int strlen (char *p)
{
 int i=0;
     for(;*p;i++,p++);
     return i ;
}

void main()
{
  char str[20] ;
      scanf("%s",str);
      printf("length of str=%d",strlen(str));
 }
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,