一名新手小白在线求救;
规定了当输入0时停止输入;
但是不起作用;
>=数组长度才停下来;
请问是哪里出错了;
#include <iostream>
using namespace std;
class Counter
{
private:
int i;
public:
void init(int a)
{
i=a;
}
void alq(char *a)
{
char *p;
p=a;
while(*p++)
i++;
cout<<"字符总数为:"<<i<<endl;
}
};
int main()
{
Counter A;
int a,e=1;
char b[12],*p=b;
cout<<"输入初始值:"<<endl;
cin>>a;
A.init(a);
cout<<"输入字符:"<<endl;
while(e==1)
{
cin>>*p;
p++;
if(*p==0)
e=0;
}
p=NULL;
cout<<cin.gcount()<<endl;
A.alq(b);
return 0;
}
你把p++放在if 语句的后面就正常了,不要加break,因为你赋值以后修改了指针,所以判断的时候值已经不是0了
你要加break 语句才能结束循环。加一条语句就可以了。
放在
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632