C++指针
实现使用函数mystrlen()统计一个字符串的长度,主函数需用到指针int mystrlen(char *str) 当我们使用指针来处理字符串时,可以通过指针的方式逐个访问字符串中的字符,直到遇到字符串的结束符'\0'。我们可以利用这个特点来实现统计字符串长度的函数。
下面是一个使用指针实现统计字符串长度的示例代码:
#include <iostream>
int mystrlen(char *str) {
int count = 0;
// 使用指针来逐个访问字符,直到遇到字符串结束符'\0'
while (*str != '\0') {
count++;
str++;// 指针向后移动一个位置
}
return count;
}
int main() {
char str[] = "Hello, World!";
int length = mystrlen(str);
std::cout << "The length of the string is: " << length << std::endl;
return 0;
}
在`mystrlen()`函数中,我们用指针`str`来逐个访问字符,每次循环迭代时,将指针向后移动一个位置,直到遇到字符串结束符`'\0'`为止。同时,我们使用`count`变量来记录字符的个数,最后返回`count`作为字符串的长度。
在主函数中,我们定义了一个字符串`str`,并调用`mystrlen()`函数来统计其长度,并输出结果。
注意,在C++中,字符串是以字符数组的形式存储的,所以我们可以直接将字符串作为参数传递给`mystrlen()`函数。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 FishC 发表于 2023-12-12 23:17
当我们使用指针来处理字符串时,可以通过指针的方式逐个访问字符串中的字符,直到遇到字符串的结束符'\0'。 ...
如果要求是键盘输入这个字符串呢?我尝试过这个方法,好像是不行的 骨头坠羽毛 发表于 2023-12-12 23:23
如果要求是键盘输入这个字符串呢?我尝试过这个方法, ...
如果要从键盘输入字符串并计算其长度,可以使用C++中的std::cin来实现。下面是修改后的代码示例:
#include <iostream>
int mystrlen(const char *str) {
int count = 0;
while (*str != '\0') {
count++;
str++;
}
return count;
}
int main() {
char str; // 假设字符串长度不超过100个字符
std::cout << "请输入一个字符串: ";
std::cin >> str;
int length = mystrlen(str);
std::cout << "字符串长度为: " << length << std::endl;
return 0;
}
在这个示例中,我们声明了一个字符数组str,用于存储从键盘输入的字符串。使用std::cin来读取用户输入,并将其存储到str数组中。然后调用mystrlen函数来计算字符串的长度,并输出结果。请注意,这里假设字符串的长度不超过100个字符,你可以根据实际需要调整数组大小。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 FishC 发表于 2023-12-12 23:23
如果要从键盘输入字符串并计算其长度,可以使用C++中的std::cin来实现。下面是修改后的代码示例:
#include <iostream>
using namespace std;
int mystrlen(char *str)
{
int count=0;
while (*str!='\0')
{
count++;
str++;
}
return count;
}
void main()
{
char a,*p=a;
cout<<"请输入一个字符串:";
cin>>*p;
cout<<"字符串长度为"<<mystrlen(p)<<endl;
system("pause");
}
这样运行结果一直是63 骨头坠羽毛 发表于 2023-12-12 23:26
#include
using namespace std;
int mystrlen(ch ...
您的代码中存在一些错误和不完整的部分。首先,在`main()`函数中,您定义了一个字符变量`a`,但没有为其赋值,导致指针`p`指向未知的内存地址。此外,在输出`*p`之前,应该使用`cin`来接收用户输入的字符串。最后,在`main()`函数结束前,你应该返回一个整数值。
下面是对代码的修正和完善:
#include <iostream>
using namespace std;
int mystrlen(const char *str){
int count = 0;
while (*str!='\0') {
count++;
str++;
}
return count;
}
int main() {
char a; // 假设字符串长度不超过100个字符
cout << "请输入一个字符串: ";
cin >> a;
int length = mystrlen(a);
cout << "字符串的长度为: " << length << endl;
return 0;
}
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]