*p!=0 跟*p!='\0'是一样的,判断指针是否到了字符串末尾。
函数功能跟strlen一样。计算字符串长度。
意思不是从g到!总共有几个偏移吗
不是, 是到最后的 \0 有几个偏移。 和字符串中的 ‘!’ 字符无关
char* s 取到的是goodbay!的头字母的地址,在fun里面,charp=s是将地址赋给p,p+1代表地址加一,指向goodbay!下一位,p!=0代表指向goodbay!后面,所以这一题是判断输入的goodbay!有几个字符
这个是在模拟实现strlen(字符串统计函数),p 和 s是两个指针,当循环结束时,p 指向了字符串结束标志 '\0' ,而 *s仍然指向首地址,指针 - 指针,得到的是两个指针间的元素个数,即此段字符串的元素个数,为8。
此段代码模仿的还不够严谨,应该加断言和const保护。