为什么while(a[i]=b[k])不行
#include <iostream>
#include <string>
using namespace std;
int main()
{
char a[30];
cin.get(a,30);
char b[5]="done";
int i,k,space,d=0;
while (d!=3 or i==50)
{
while(a[i]==b[k])
{
cout<<'5';
if (d==3)
{
cout<<"done. you've entered "<<space<<" words"; break;
}
i=i+1;
k=k+1;
d=k;
}
if (a[i]==' ')
space=space+1;
if(k!=3)
k=0;
else
break;
i=i+1;
}
return 0;
}
[解决办法]
代码应该没有什么大问题,先把i,k初始化一下,再在最下面的return 0前,加上两个getchar();getchar();就可以看到运行结果了。
[解决办法]
......
......
我的是c++builder6,你用的什么编译器,不知道是否是兼容性的问题.不知道上图是不是你要的效果?代码如下:
//---------------------------------------
#include <iostream>
#include <string>
#include <vcl.h>
#pragma hdrstop
using namespace std;
//---------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
char a[30];
cin.get(a,30);
char b[5]="done";
int i=0,k=0,space=0,d=0;
while (d!=3
[解决办法]
i==50)
{
while(a[i]==b[k])
{
cout<<'5';
if (d==3)
{
cout<<"done. you've entered "<<space<<" words"; break;
}
i=i+1;
k=k+1;
d=k;
}
if (a[i]==' ')
space=space+1;
if(k!=3)
k=0;
else
break;
i=i+1;
}
getchar();
getchar();
return 0;
}
//---------------------------------------