注册 登录
编程论坛 新人交流区

[求助]C中break无法表达的问题!!

yuzhiyan 发布于 2007-11-04 10:51, 939 次点击

#include "stdio.h"
#include "time.h"
#include "stdlib.h"

int x1,x2,z,sum,i,a,k;
int game(int x1,int x2)
{ srand(time(NULL));
i=1;
x1=rand()%6+1;
x2=rand()%6+1;
a=x1+x2;
sum=a;
printf("%d %d+%d=%d\n",i,x1,x2,a);
return a;
}
main()
{ int game(int x1,int x2);
k=game(x1,x2);
if(a==2||a==3||a==12)
{printf("player lost\n");break;}
else
{ if(a==7||a==11)
{printf("player win\n");break;}
else
printf(" again?\n");
for(i=2;i>1;i++)
{ x1=rand()%6+1;
x2=rand()%6+1;
k=x1+x2;;
printf("%d %d+%d=%d\n",i,x1,x2,k); getch();
if(k==sum||k==7)
{ if(k==sum)
{printf("player win\n");
break;}
else
{printf("player lost\n");
break;}
}
else
printf(" again?\n");
}
}
getch();
}
为什么在红色部分不可以用,绿色部分可以用,红色后用就错?
请高手帮忙啊!!!谁可以教教啊!!!

14 回复
#2
随缘小强2007-11-04 14:22
break是用于结束循环的,你的break放在if else语句里,肯定有问题~~
最起码在if else外面得有个循环语句才能跳出循环
#3
lw_China2007-11-04 16:46
红色部分用 return;
#4
koman2007-11-04 17:51
回复:(yuzhiyan)[求助]C中break无法表达的问题!!
break只能用在switch和循环内部用语跳出
#5
wfcq20052007-11-04 18:59
你明显上边没有循环,所以出错,下边有个FOR循环,才没出问题
#6
yuannan2007-11-04 19:31
@@@@@@@@@@@@@@@@
#7
DaTun2007-11-04 19:50
break用于跳出循环
return用于跳出函数
exit(0)用于跳出程序

像上面的程序就把break去掉
if语句执行以后就不执行else语句
if语句不执行就执行else语句
#8
theamam2007-11-04 19:56
路过+学习=
#9
yuzhiyan2007-11-06 20:04
知道啊  谢谢啊
#10
littlerice2007-11-06 20:25
7楼,老师。。
#11
linjianhai2007-11-07 01:16

学习了。

#12
heluhui12342007-11-07 09:53
灌水法帖
#13
lvpeng2007-11-07 09:59
2--7L正解
#14
musicion81682007-11-08 11:20

break是用来结束循环的,象FOR,WHILE之类的,你又没循环当然出错!

#15
第二种可能2007-11-08 12:12
我只有基础,这个程序太长了,看不懂呀
1