亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2763 | 回復: 8
打印 上一主題 下一主題

問個C goto問題 [復制鏈接]

論壇徽章:
1
榮譽版主
日期:2011-11-23 16:44:17
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2009-03-19 10:18 |只看該作者 |倒序瀏覽
實在不明白goto
#include <stdio.h>

int main(void)
{
        int i=0;
        int j=1;

        if(i)
                if(j > 10)
                        goto hello2;


hello:
        fprintf(stderr, "Hello, C!\n");
        return;
hello2:
        fprintf(stderr, "Hello, Perl!\n");
        return;
hello3:
        fprintf(stderr, "Hello!\n");
        return;
}


問題一: 這里為什么執(zhí)行了hello這個label?我怎么覺得不應(yīng)該執(zhí)行任何label
問題二:一個label怎么樣算結(jié)束?也就是label后面如果想加入主程序的代碼(不屬于label的范圍)是否可以?

[ 本帖最后由 FinalBSD 于 2009-3-19 10:20 編輯 ]

論壇徽章:
0
2 [報告]
發(fā)表于 2009-03-19 10:22 |只看該作者
1,因為前面的跳轉(zhuǎn)條件不滿足,所以繼續(xù)往下執(zhí)行直至第一個return;
2,可以,在主程序代碼的return后加label,不過如果想執(zhí)行完label再繼續(xù)執(zhí)行主程序代碼記的跳回來

汗,所以說不鼓勵使用goto。。。

論壇徽章:
0
3 [報告]
發(fā)表于 2009-03-19 10:24 |只看該作者
條件都不成立,應(yīng)當順序執(zhí)行啊

論壇徽章:
1
榮譽版主
日期:2011-11-23 16:44:17
4 [報告]
發(fā)表于 2009-03-19 10:26 |只看該作者
哦,謝謝樓上2位,我以為label里面的代碼必須有前面滿足的條件才會被執(zhí)行,如果不滿足就當略過。第二個問題還不是很明白,呵呵

論壇徽章:
0
5 [報告]
發(fā)表于 2009-03-19 10:54 |只看該作者
hello 是缺省情況下執(zhí)行的
一個 label 在遇到下一個 label 開始的時候結(jié)束。如果后面的 return ,就代表這個 label 后面就是整個程序的結(jié)束了,此外還可以跟 break 等各種語句,但是結(jié)束一個 label 的只有另一個 label 或者程序結(jié)束。

論壇徽章:
0
6 [報告]
發(fā)表于 2009-03-19 11:06 |只看該作者
原帖由 FinalBSD 于 2009-3-19 10:26 發(fā)表
哦,謝謝樓上2位,我以為label里面的代碼必須有前面滿足的條件才會被執(zhí)行,如果不滿足就當略過。第二個問題還不是很明白,呵呵

lable只是一個位置的標記,沒有其他用處

因此,一般被用做跳轉(zhuǎn)的目標

lable不是函數(shù),因此它沒有結(jié)束的概念

但是lable有一個概念:"后面的語句"

論壇徽章:
0
7 [報告]
發(fā)表于 2009-03-19 11:08 |只看該作者
hello肯定是上面條件不滿足goto條件,然后順序執(zhí)行的啦

論壇徽章:
0
8 [報告]
發(fā)表于 2009-03-19 11:29 |只看該作者
label就是一個地址標識嘛。。不過是在函數(shù)體內(nèi)的。。相當于short jmp

論壇徽章:
1
榮譽版主
日期:2011-11-23 16:44:17
9 [報告]
發(fā)表于 2009-03-19 12:03 |只看該作者
了解了,謝謝各位。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP