1. 程式人生 > >c語言中goto使用注意事項

c語言中goto使用注意事項

在c語言中可以用goto來處理錯誤,但是要特別注意的是goto會順序執行下去,所以在goto中如果沒有分支或retun的話可能會出錯

#include<stdio.h>


//氣泡排序,把陣列中的元素從大到小或從小到大列出

int main(void)
{
    int arr[10]={8, 1, 6, 7, 5, 0, 3, 2, 4, 9};
    int i, j, temp, count = 0;

    goto out;
    //goto out2;

out1:
    for(i = 0; i<9; i++)  //控制排序的趟數
    {
        for
(j=0; j<9-i; j++) { if(arr[j] > arr[j+1]) //控制相比較的數 { temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } for(i = 0; i<10; i++) { printf("%d ",arr[i]); } printf
("\n"); count++; if (count == 10) //break; return 0; goto out1; out: printf("out\n"); //return 0; out2: printf("out2\n"); return 0; } **比如在上面的程式碼中如果out中沒有return的話會順序執行到out2 而且中間部分的程式碼不會被執行,goto out 後會直接順序執行然後返回結束程式**

//goto out;

**如果我們注掉goto out 程式會在goto out1形成這部分程式碼形成迴圈知道條件滿足退出,但是在goto
中不能使用break 和 conution**