想写使用指针作为参数,求字符串的长度。请问我这个为啥怎么输入,输出之后都是19呢,这应该改咋改呀?
#include
using namespace std;
int main()
{
char arr[99];
gets(arr);
int num=0;
for(int i=0;i<99;i++)
{
char arr[i];
char *a=&arr[i];
if(*a!='\0')
num++;
i++;
}
cout<return 0;
}
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
char arr[99];
gets(arr);
int num=0;
char *a= arr;
for(int i=0;i<99;i++)
{
if(*a =='\0')
{
break;
}
num++;
a++;
}
cout<<num<<endl;
return 0;
}
第10行删掉
另外,需要改为
if(*a!='\0')
num++;
else
break; //遇到'\0'说明字符串结束了,不要往下再统计了
#include <iostream>
using namespace std;
int main()
{
char arr[99];
gets(arr);
int num=0;
char *a=arr;
while(*a!='\0')
{
a++;
}
cout<<a-arr<<endl;
return 0;
}