C++小问题哦..哪里错了

来源:百度知道 编辑:UC知道 时间:2024/07/07 22:02:03
#include<iostream.h>
#include<math.h>

int main()
{int a[4],i;
char* b[4]={"hunter","wolf","sheep","cabbage"};

while(1){
for(i=1;i<=3;i++){
a[i]=0;
if(abs(a[1]-a[2])==0||abs(a[2]-a[3])==0)
a[i]=1;
else cout<<b[i]<<" goto "<<endl;}
if(a[3]*!a[1]*!a[2]==1){
a[1]=1;
cout<<b[1]<<" goback "<<endl;}
else if(a[1]*!a[2]*!a[3]==1){
a[3]=1;
cout<<b[3]<<" goback "<<endl;}
}
if(a[1]==0&&a[2]==0&&a[3]==0)break;
}
return 0;
}

--------------------Configuration: 1-3 - Win32 Debug--------------------
Compiling...
1-3.cpp
d:\program files\microsoft visual studio\myprojects\exercise\1-3\1-3.cpp(21) : error C2043: illegal break
d:\program files\microsoft visua

int main()
{int a[4],i;
char* b[4]={"hunter","wolf","sheep","cabbage"};

while(1){
for(i=1;i<=3;i++){
a[i]=0;
if(abs(a[1]-a[2])==0||abs(a[2]-a[3])==0)
a[i]=1;
else cout<<b[i]<<" goto "<<endl;}
if(a[3]*!a[1]*!a[2]==1){
a[1]=1;
cout<<b[1]<<" goback "<<endl;}
else if(a[1]*!a[2]*!a[3]==1){
a[3]=1;
cout<<b[3]<<" goback "<<endl;}
//这里多个括号~~你要实现什么功能啊?
if(a[1]==0&&a[2]==0&&a[3]==0)break;
}
return 0;
}

char* b[4]={"hunter","wolf","sheep","cabbage"}; ??????????????
为什么要加个“*”呢?

char* b[4]={"hunter","wolf","sheep","cabbage"}; //你在这里定义字符时为什么要加*号?应该不用加就可以了.