由于要求用指针来获取,所以设char数据类型的指针指向数组的首地址str。一开始写了数组str里面所有数字为0,如果输入完一串字符,数组里的一些数字0会被替代掉,那么这时候解引用p就不会得到0(p这个时候等于str[0]因为是首地址)因为str[0]已经被字符串覆盖。做一个循环让指针一个字节一个字节往下走,每走一次计一个长度单位,等到p指到解引用为0的str就停止循环并输出长度。
#include <iostream>
using namespace std;
int main() {
char str[100] = { 0 };
cin.getline(str, sizeof(str));
// write your code here......
int len=0;
char*p=str;
while(*p!=0)
{
p++;
len++;
}
cout<<len<<endl;
return 0;
}

京公网安备 11010502036488号