21 goto語句的使用

2021-03-31 08:56:30 字數 571 閱讀 2393

—————————

n年前,軟體開發的一代宗師——迪傑斯特拉(dijkstra)說過:「goto statment is harmful !!」,並建議取消goto語句。因為goto語句不利於程式**的維護性。

這裡我也強烈建議不要使用goto語句,除非下面的這種情況:

#define free(p) if(p)

main()

lname = ( char* ) calloc ( 20, sizeof(char) );

if ( lname == null )

mname = ( char* ) calloc ( 20, sizeof(char) );

if ( mname == null )

......

errhandle:

free(fname);

free(lname);

free(mname);

reporterror(err_no_memoey);

}也只有在這種情況下,goto語句會讓你的程式更易讀,更容易維護。(在用嵌c來對資料庫設定游標操作時,或是對資料庫建立鏈結時,也會遇到這種結構)

goto 語句的使用

goto語句包括兩個部分 goto和乙個標籤名稱。標籤的命名遵循與命名變數相同的約定。goto part1 標籤需要寫上工作的語句。part1 printf there is part1 n 觀察以下程式的執行結果 可以看到,當執行 goto 語句之後,程式就跳轉到part1 printf ther...

goto語句的使用

goto語句使用一定要在判斷中進行操作,如果再順序語句中,隨意的進行跳轉,那麼程式會具備極大的不確定性,比如前面定義了乙個變數,後面值已經改變了,然後goto又跳轉到定義處,那麼這個變數是定義的值還是後面改變的值?量大,這就不好控制了,所以一定要約束goto語句。include include in...

關於goto語句的使用

在專案中用到了大量的goto語句,遭到了領導的指責,感覺挺委屈的。作為乙個程式設計師,在很多地方都看到說要避免goto語句的使用。goto語句如洪水猛獸,其實都誤解了goto。濫用goto的確很恐怖,可是合理使用卻能夠對程式的結構效能有很大幫助。以下簡單說一下專案中用到goto的3類地方。1,多重迴...