用c++写计算字符长度请帮忙改一下

来源:百度知道 编辑:UC知道 时间:2024/05/10 14:45:37
# include <iostream>
#include <string>
using namespace std;
int strlen (const char *str)
{ char *p;
p=str;
while (*p) p++;
return p-str;
}
void main ()
{ char *str='asdfg';
strlen (const char *str);
}

strlen是string的库函数,你的函数名字不能取它,可以改成strlen1

char*指针不能指向const char*,用const char *p;

字符串要用"",不能用'

函数调用不用加参数类型了,strlen1(str);即可

正确代码如下

# include <iostream>
#include <string>
using namespace std;
int strlen1 (const char *str)
{ const char *p;
p=str;
while (*p) p++;
return p-str;
}
void main ()
{ char *str="asdfg";
cout<<strlen1 (str);
}

return p-str;
这是指针相减。。。不是字符数相减

# include <iostream>
#include <string>
using namespace std;

int strlen_ex (const char *str)
{
char *p =(char*)str;

if(str == NULL)
return 0;

while (*p)
p++;

return p-str;
}
void main ()
{
char *str="asdfg";
cout << strlen_ex (str) <<endl;
}

# include <iostream>
#inc