strlen的用法

来源:百度知道 编辑:UC知道 时间:2024/06/25 18:56:18
#include<iostream.h>
#include<string.h>

void main(void)
{
int n;
char *p;
cin>>n;
p=new char[n];
cout<<strlen(p)<<endl;

}
怎么结果不对?

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

int main(void)
{
int n;
char *p;
cin>>n;
p=new char[n];
cin>>p;
cout<<(signed int)strlen(p)<<endl;
delete []p;

return 0;

}

请输入一个字符串(长度小於n+1)之后看结果绝对没问题

是因为你没有初始化p,strlen在库函数中只是找'\0'为止,需要你对p进行初始化后才能有确定的值……

没有初始化吧,结果不确定

strlen是有效字符串的长度。。。。就是非0字符的个数