补.从零开始学习C语言--C语言补充_goto语句

goto跳转语句,无条件跳转,

格式:  goto 标签地址;

一般会配合if语句使用

 

例子:

#include <stdio.h>
#include <math.h>
int  main(void) //main是程序入口
  {
     
     
   int num;
   
   printf("请输入彩票号码:");
   scanf("%d",&num);
   if (num==28)
   {
	    goto Label1;
   }else if (num==16)
   {
	    goto Label2;
	    
   }else if (num==39)
   {
	    goto Label3;
	  
   }else if (num==138)
   {
	    goto Label4;
	   
   }else
   {
	   goto Label5;
   }
	
 
   
	getchar();  
	getchar();
	return 0;  //返回一个
Label1:
	 printf("彩票号码为%d,恭喜,你中了一等奖\n",num);
	 goto end;
Label2:
	 printf("彩票号码为%d,恭喜,你中了二等奖\n",num);
	goto end;
Label3:
	 printf("彩票号码为%d,恭喜,你中了三等奖\n",num);
	goto end;
Label4:
	 printf("彩票号码为%d,恭喜,你中了末等奖\n",num);
    goto end;
Label5:
	 printf("你彩票的号码未中奖...");
	goto end;
end:
 getchar();  
 getchar();
 return 0;  //返回一个
  }

可以看到使用goto语句十分的繁琐,一般不推荐使用,但是一种特殊情况下可以使用:

即强行跳出所有循环,因为break和continue只能跳出距离它们最近的循环

#include <stdio.h>
int main(void)
{
	int i1,i2,i3,i4,i5;//分别表示万位,千位,百位,十位,个位
	for (i1=1;i1<=9;i1++) //i1*10000
		for (i2=1;i2<=9;i2++) //i2*1000
			for (i3=1;i3<=9;i3++) //i3*100
				for (i4=1;i4<=9;i4++) //i4*10
					for (i5=1;i5<=9;i5++) //i5*1
					{
								if( i1*i2*i3*i4*i5==i1+i2+i3+i4+i5 )
							{
								printf("%d \n" ,i1*10000+i2*1000+i3*100+i4*10+i5*1 );
									//跳出整个循环
								goto endfor;
							}
					}
endfor:
	 
	//B

	getchar();
	getchar();
	return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值