程序中的語句通常總是按順序方向, 或按語句功能所定義的方向執行的。如果需要改變程序的正常流向, 可以使用本小節介紹的轉移語句。在C語言中提供了4種轉移語句:
goto,break, continue和return。
其中的return語句只能出現在被調函數中, 用于返回主調函數,我們將在函數一章中具體介紹。 本小節介紹前三種轉移語句。
1.goto語句
goto語句也稱為無條件轉移語句,其一般格式如下: goto 語句標號; 其中語句標號是按標識符規定書寫的符號, 放在某一語句行的
前面,標號后加冒號(:)。語句標號起標識語句的作用,與goto 語句配合使用。
如: label: i++;
loop: while(x<7);
C語言不限制程序中使用標號的次數,但各標號不得重名。goto語句的語義是改變程序流向, 轉去執行語句標號所標識的語句。
goto語句通常與條件語句配合使用。可用來實現條件轉移, 構成循環,跳出循環體等功能。
但是,在結構化程序設計中一般不主張使用goto語句, 以免造成程序流程的混亂,使理解和調試程序都產生困難。
統計從鍵盤輸入一行字符的個數。
#include"stdio.h"
void main(){
int n=0;
printf("input a string\n");
loop: if(getchar()!='\n')
{
n++;
goto loop;
}
printf("%d",n);
} int n=0;
printf("input a string\n");
loop: if(getchar()!='\n')
{
n++;
goto loop;
}
printf("%d",n);
本例用if語句和goto語句構成循環結構。當輸入字符不為'\n'時即執行n++進行計數,然后轉移至if語句循環執行。直至輸入字符為'\n'才停止循環。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |