利用指针编写求字符串长度的函数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#