题意整理。
- 键盘输入一个字符串。 -获取该字符串的长度,并输出,要求使用指针实现。
方法一(指针)
1.解题思路
- 定义一个指针指向字符串开头。
- 只要指针对应元素不是'\n',将指针后移,同时长度加1。
动图展示:
2.代码实现
#include <iostream>
using namespace std;
int main() {
char str[100] = { 0 };
cin.getline(str, sizeof(str));
int len=0;
char *p=str;
//只要指针没有指向换行符位置
while(*p!='\0'){
//长度加1,指针p后移
len++;
p++;
}
cout<<len<<endl;
return 0;
}
3.复杂度分析
- 时间复杂度:假设字符串的长度位n,循环总共执行n次,所以时间复杂度为。
- 空间复杂度:需要额外常数级别的空间,所以空间复杂度为。