这段C语言指针麻烦帮忙解释一下

指针这章学的还不够熟..麻烦高手们帮我解释解释这段代码..#include"stdio.h"intstrlen(char*s){char*p=s;while(*p!='\... 指针这章学的还不够熟..麻烦高手们帮我解释解释这段代码..
#include "stdio.h"
int strlen(char *s)
{
char *p =s;
while (*p!='\0')
p++;
return p-s;
}
void main(){
printf("\nThe length of string 'computer' is %d\n",strlen("computer"));
}
主要是实参传形参的值是怎样传的..char类型的他并不是数组呀..应该只能存放一个字符才是..他怎么能把一个字符串给传过去呢..

我明白这指针是用他们的地址相减..得出的差就是他们的个数..可不明白实参和形参的如何传递...
展开
 我来答 举报
砍侃看
2009-12-10 · TA获得超过6154个赞
知道大有可为答主
回答量:6584
采纳率:69%
帮助的人:2125万
展开全部
char *p=s;使得p和s指向同一个位置,就是某个字符串的开头。while循环的作用是遍历字符串的每个值,看其是否为“\0”也就是字符串的结尾,如果不是则p指向下一个位置,如果是则返回p-s的值,休息此时p指向结尾,s仍然指向开头,那么他们的差值就是字符串的长度
whulf
2009-12-10
知道答主
回答量:47
采纳率:0%
帮助的人:20.7万
展开全部
strlen函数,用来计算字符转的长度。
char *s 指针指向字符串的首地址。
char *p 指针从首地址开始往后移动,直至字符串结束标志'\0'。
两指针相减的偏移为字符串的长度。
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式