我刚刚开始学习c++。我还想澄清一下,这不是作业问题,它只是我坚持的问题。
我在麻省理工学院网站上查看作业问题,我已将问题粘贴在这里;
编写一个返回字符串长度(char *)的函数,不包括最后的 NULL 字符。它不应该使用任何标准库函数。您可以使用算术和取消引用运算符,但不能使用索引运算符 ([])。
我不知道如何在没有数组的情况下做到这一点。
任何帮助表示赞赏!
这就是我所做的:
#include<iostream>
#include<conio.h>
#include<string>
using namespace std;
int stringlength (char* numptr);
int main()
{
char *mystring;
cout<<"enter the string \n";
cin>>mystring;
cout<<"length is "<<stringlength(mystring);
getch();
}
int stringlength (char* numptr)
{
int count=0;
for(;*numptr<'\0';*numptr++)
{
count++;
}
return(count);
}
This is what i had done previously before I asked u all about the problem.
But this got me an answer of zero.
But if in my function i change *numptr<'\0' to *numptr!= 0, i get the right answer.
Now what i am confused about is, isn't that the null character, so why cant i check for that.