C Primer Plus(6) 中文版 第7章 C控制语句:分支和跳转 7.8 goto语句 7.9 关键概念 7.10 本章小结

本文讨论了C Primer Plus第六版第7章中的goto语句,虽然C语言支持goto,但作者建议谨慎使用。goto常用于处理多条语句的if条件、创建不确定循环等场景,但在C中这些问题可以通过更清晰的结构如复合语句、while、if else、break和continue解决。此外,文章强调避免过度使用goto以保持代码的清晰性,并提出在标签前后的使用规则。
摘要由CSDN通过智能技术生成

7.8 goto语句
goto语句在C中仍然可用。但是C没有goto语句C程序也能运行良好。Kernighan和Ritchie提到goto语句“已被滥用”,并建议“谨慎使用,
或者根本不用”。
goto语句有两部分:goto和标签名。标签的命名遵循变量命名规则。例如:
goto part2;
要让这条语句正常工作,函数还必须包含另一条标为part2的语句,该语句以标签名后紧跟一个冒号开始:
part2:printf( "Refined analysis:\n" );
7.8.1 避免使用goto
原则上,根本不用在C程序中使用goto语句。FORTRAN或BASIC(goto这两种语言而言都必不可少),可能还会依赖goto来编程。 
使用goto的常见情况,然后再介绍C的解决方案。
*处理包含多条语句的if语句:
if( size > 12 )
    goto a;
goto b;
a: cost = cost * 1.05;
flag = 2;
b: bill = cost * flag; 
对于以前的BASIC和FORTRAN,只有直接跟在if条件后面的一条语句才属于if,不能使用块或复合语句。我们把以上模式转换成等价的C代码,标准C用复合语句或块来处理这种情况:
if( size > 12 ){
    cost = cost * 1.05;
    flag = 2;

bill = cost * flag;
*二选一
if( ibex > 14 )
    goto a;
sheds = 2;
goto

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_40186813

你的能量无可限量。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值