是否有一种方法可以解决这个问题与长度计数器功能?



我必须使用一个使用指针表法的函数来查找字符数组的长度,由于某种原因,我得到了23,但结果应该是5。

下面是我编写的代码:
#include <iostream>
using namespace std;
int length(char *N) 
{
int length = 0;
char* S = N;
for (; *S != ''; S++);
for (; *N != *S; N++)
{
length++;
}
return length;
}
int main() 
{
char A[5];
char *N;
N = A;
cout << "please enter the charecters you desire" << endl;
for (int i = 0; i <=4; i++) 
{
cin >> A[i];
}
cout<<length(N);
}

你不需要两个循环。

请注意,您必须在数组中留下一个空格(最后一个元素)以''填充它。

因此,根据两个注释,如果您想使用除''以外的五个字符,您的代码将如下所示

#include <iostream>
size_t length(char *N){
size_t length = 0;
for (; *N != ''; N++){
length++;
}
return length;
}
int main()
{
char A[6];
std::cout << "please enter the characters you desiren";
for (int i = 0; i < 5; i++){
std::cin >> A[i];
}
A[5] = '';
std::cout << length(A);
}

最新更新