疯狂JAVA P24
很多编程语言都提供了GOTO语句,GOTO语句非常灵活,可以让程序的控制流程任意流转——如果大量使用GOTO语句,程序完全不需要循环。但GOTO语句实在太随意了,如果程序随意使用GOTO语句,将会导致程序流程难以理解,并且容易出错。在实际软件开发过程中,更注重软件的可读性和可修改性,因此GOTO语句逐渐被抛弃了。
JAVA语句拒绝使用GOTO语句,但它将goto作为保留字,意思是目前JAVA版本还未使用GOTO语句,但也许在未来的日子里,当JAVA不得不使用GOTO语句时,JAVA还是可能使用GOTO语句的。
GOTO语句??
goto语句也称为无条件转移语句,其一般格式如下: goto 语句标号; 其中语句标号是按
标识符规定书写的符号, 放在某一语句行的前面,标号后加
冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。
如: label: i++;
loop: while(x<7);
C语言不限制程序中使用标号的次数,但各标号不得重名。goto语句的语义是改变程序流向, 转去执行语句标号所标识的语句。
goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。
但是,在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。
统计从键盘输入一行字符的个数。
#include"stdio.h"
int main(void){
int n=0;
printf("input a string :\n");
loop: if(getchar()!='\n'){
n++;
goto loop;
}
printf("%d",n);
}
例如输入:abcdefghijklmnoprstu
然后回车Enter
输出:20
本例用if语句和goto语句构成
循环结构。当输入字符不为'\n'时即执行n++进行计数,然后转移至if语句循环执行。直至输入字符为'\n'才停止循环。