1 c++ string segmentation-fault
我正在尝试实现一个简单的字符串长度函数.如果我在main中编写所有内容,则代码段错误.但是,如果我声明一个strlen函数,那么它就不会.为什么会这样?
为什么以下代码有效
using namespace std;
#include <iostream>
int strlen(char *s)
{
char *p = s;
while (*p != '\0')
p++;
return p - s;
}
int main()
{
char *s;
cin >> s;
cout << strlen(s) << endl;
}
Run Code Online (Sandbox Code Playgroud)
虽然这段代码是段错误的吗?
using namespace std;
#include <iostream>
int main()
{
char *s;
cin >> s;
char *p = s;
while (*p != '\0')
p++;
cout << p-s << endl;
}
Run Code Online (Sandbox Code Playgroud)