永发信息网

高级语言程序设计56

答案:1  悬赏:30  手机版
解决时间 2021-04-27 17:21

int f(char*s)

{char*p=s;

while(*p)p++;

return(p-s);

main ()

{printf("%d\n",f("123456"));

}

答案是 6

我是初学者,

请大家帮我详细的分析下!

谢谢!!

最佳答案

你好.


函数f()的作用是返回一个字符串的长度.


首先,在调用函数f()的时候,传递的是字符串的指针. 进入函数f()后,将指针赋值给p.


然后通过while(*p) 判断*p指向的是不是字符串结束符. 不是的话指针p后移. 直到p指向字符串结束符.


那么这时候,p就等于该字符串的尾指针.


再返回尾指针p 减去 头指针s. 就等于字符串的长度了.



举个例子.


假如:


字符串"123456"中 1的地址为70000, 那么在函数中*p首先指向的就是1, 然后指针一直后移,


到字符6的后一位,也就是字符串结束符'\0'. 则,p当前的地址是70006.


把p-a就等于把70006-7000就能得到字符串的长度..

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
完美前传天人合一后还能解吗?
吉运通讯我想知道这个在什么地方
我想开个店《在福州这里》,但不知道开什么《
为什么我的电脑总是会自动跳出空白页,百度首
诺基亚5800XM跟5800iXM哪个好啊?
把7个桃分给3只小猴吃,分的时候不准把桃切开
请问这种木头是什么木?
真三国无双中可以自己建角色的是哪个版本?
我的地下城为什么才上就卡掉了?
回答下面的数学题
南阳市工商局专业分局特种行业工商所这个地址
♡ 痛 、可 以 吃 止 痛 片 么 ?
谁能帮我查找10开头的临沂的昵称红太狼的人
早晚用不同的洗面奶可以吗?这样好不好?
DNF MM玩家到底有多少?谁能大概说哈!
推荐资讯
在QQ上如何加好友?
捷雅画廊地址有知道的么?有点事想过去
N81待机怎样
怎样才能将脑中的杂念去除?
写桥的作文200字
是圣元优聪奶粉还是圣元优博奶粉出问题?是什
宁夏盐环定扬水管理处在哪里啊,我有事要去这
家用实木家具什么木头好
CF咋能 干的超猛
电脑手提好还是台式?
元素化合价
天坛公园停车场我想知道这个在什么地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?