C語言怎么會(huì)有這么變態(tài)的例子!速來圍觀!?。?/h2>

在學(xué)習(xí)C/C++或者想學(xué)習(xí)C/C++可以加群:775356268,大家一起學(xué)習(xí)交流

1.下面這個(gè)示例是C語言的痛,main函數(shù)返回值是什么?

typedef struct

{

char *key;

char *value;

} T1;

typedef struct

{

long type;

char *value;

} T3;

T1 a[] =

{

{

"",

((char *)&((T3) {1, (char *) 1}))

}

};

int main() {

T3 *pt3 = (T3*)a[0].value;

return pt3->value;

}

答案:1(你知道為什么嗎?)

2.下面這個(gè)例就更變態(tài)了。在GCC的文檔中,這個(gè)語法是合法的,但是不知道為什么GCC并沒有實(shí)現(xiàn)。下面的代碼返回 2.

return ((int []){1,2,3,4})[1];

在學(xué)習(xí)C/C++或者想學(xué)習(xí)C/C++可以加群:775356268,大家一起學(xué)習(xí)交流

3.在下面的這個(gè)示例中,有一個(gè)“bar” 函數(shù)及其函數(shù)指針 “pbar” 的兩個(gè)拷貝(static 類型一般作用于語句塊或文件域).

int foo() {

static bar();

static (*pbar)() = bar;

}

static bar() {

return 1;

}

static (*pbar)() = 0;

4.下面的這個(gè)函數(shù)返回值是什么?取決于編譯器是先處理unsigned long轉(zhuǎn)型,還是負(fù)號(hào)。

unsigned long foo() {

return (unsigned long) - 1 / 8;

}

如果是: ((unsigned long) - 1) / 8,那將是一個(gè)很大的數(shù)。

如果是: (unsigned long) (- 1 / 8 ), 那將是 0

在學(xué)習(xí)C/C++或者想學(xué)習(xí)C/C++可以加群:775356268,大家一起學(xué)習(xí)交流

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評(píng)論 19 139
  • Lua 5.1 參考手冊(cè) by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 14,256評(píng)論 0 38
  • ## 可重入函數(shù) ### 可重入性的理解 若一個(gè)程序或子程序可以安全的被并行執(zhí)行,則稱其為可重入的;即當(dāng)該子程序正...
    夏至亦韻閱讀 812評(píng)論 0 0
  • 計(jì)算機(jī)二級(jí)C語言上機(jī)題庫(南開版) 1.m個(gè)人的成績(jī)存放在score數(shù)組中,請(qǐng)編寫函數(shù)fun,它的功能是:將低于平...
    MrSunbeam閱讀 6,618評(píng)論 1 42
  • #六月飛雪 微風(fēng)颼颼,小雨綿綿, 霧鎖天空,愁云慘慘, 先生背著書包,一路北去, 頭腦昏昏,脹如針剌。 小雨淅瀝,...
    宏昌居士123閱讀 268評(píng)論 0 2

友情鏈接更多精彩內(nèi)容