这函数就是计算字符串长度啊
while循环判断t有没有指向字符串结束符,如果是就结束,这时候t指向字符串结束符。字符串结束符的位置减去字符串开头位置,结果就是字符串字符的数量,也就是长度
这相当于计算字符串长度。
如果不知道建议了解一下指针和c语言字符串。
至于你运行出错写成这样就好了
cout<<fun((char*)"Hello");
这是c++后来规定的不这样转换下,会产生歧义
用VS敲的代码,利用调试过程,可以清楚的知道有趣的东西!
#include <iostream>
using namespace std ;
int fun(char *s);
int main( )
{
cout <<fun("Hello");
system("pause");
return 0;
}
int fun(char *s)
{
char *t = s;
while(*t!='\0') t++;
return (t -s);
}
调试截图:
第一步调试: