亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

非常經典的C語言趣味題目

2020-01-26 16:19:42
字體:
來源:轉載
供稿:網友

http://stevenkobes.com/ctest.html

在這個網站上發現一套很有趣的C語言測試題,如果你招聘C語言相關開發人員,或者正在學習C語言,很值得做一做。

如果沒有做,下面內容暫時不要看,最好自己先完成一遍。

image

OK,假設你做的答案沒有完全正確,那你可以繼續看下去了,否則,后面內容對你來說就是小菜一碟,不值得看。

第一題:

#include <setjmp.h>
static jmp_buf buf;
int main(void)
{
volatile int b = 3;
if (setjmp(buf) != 0)
{
printf("%d/n", b);
exit(0);
}
b = 5;
longjmp(buf, 1);
}

輸出結果為A)3 B)5 C)0 D)都不是

答案為B,也就是輸出5。

關鍵點在于理解setjmp以及longjmp,(http://en.wikipedia.org/wiki/Setjmp.h )第一次運行到setjmp,會設置jmp_buf,然后返回0。當調用longjmp時,會把longjmp里面的非0值作為setjmp的返回值返回(如果longjmp的value參數為0,setjmp恢復后返回1,也就是當恢復到setjmp存儲點的時候,setjmp一定不會返回0)。

setjmp-longjmp組合的用處類似于游戲中的存盤讀盤功能,經常被用于類似C++的異?;謴筒僮?。

第二題:

struct node
{
int a; int b; int c;
};
struct node s = { 3, 5, 6 };
struct node *pt = &s;
printf("%d/n", *(int*)pt);
返回結果為3,這個算是比較簡單,pt為指向結構s的指針,然后將pt轉換為int指針,進行dereference,取出一個int值,那就是結構中第一個數。

我們將題目改動一下,如下代碼

復制代碼 代碼如下:

struct node
{
char a; char b; short c; int d;
};
struct node s = { 3, 5, 6, 99 };
struct node *pt = &s;
printf("%X/n", *(int*)pt);


需要注意的是一般32位C編譯器都認為char是8bit,short是16bit,int為32bit,所以node在內存中應該正好是對齊的,也就是abc這幾個成員之間沒有空隙。最終結果應該為60503,如果不是,歡迎你告訴我你具體的編譯環境以及硬件配置。

第三題:

復制代碼 代碼如下:

int foo(int x, int n){
int val = 1;
if (n > 0)
{
if (n % 2 == 1) val *= x;
val *= foo(x * x, n / 2);
}
return val;
}


這道題其實最簡單的辦法就是在紙上做一個推演計算,一步一步跑一下,就能得到答案了,這里面沒有任何復雜的C語言概念。

第四題:

復制代碼 代碼如下:

int a[5] = { 1, 2, 3, 4, 5 };
int *ptr = (int*)(&a + 1);
printf("%d %d/n", *(a + 1), *(ptr 亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美大尺度激情区在线播放| 九九久久综合网站| 97在线免费视频| 日韩在线免费高清视频| 欧美国产日产韩国视频| 亚洲aⅴ日韩av电影在线观看| 中文字幕日韩专区| 国产午夜精品久久久| 91国产视频在线播放| 欧美老妇交乱视频| 国产裸体写真av一区二区| 亚洲天堂网在线观看| 亚洲男人的天堂在线播放| 成人在线激情视频| 91精品国产91久久久久久不卡| 日韩精品极品在线观看播放免费视频| 久久久久久久久久亚洲| 日韩欧美高清在线视频| 国语自产偷拍精品视频偷| 久久久久久av| 亚洲三级黄色在线观看| 91成人在线视频| 日韩激情视频在线播放| 日韩中文字幕国产精品| 日韩国产高清视频在线| 91免费看视频.| 精品亚洲va在线va天堂资源站| 亚洲影院高清在线| 亚洲人成在线观看| 色综合色综合久久综合频道88| 亚洲最大中文字幕| 亚洲精品久久视频| 亚洲欧美制服另类日韩| 国产精品电影一区| 高跟丝袜欧美一区| 在线视频免费一区二区| 精品国产1区2区| 日韩一区视频在线| 国产精品免费在线免费| 国产成人精品在线播放| 国产精品久久久久aaaa九色| 性欧美长视频免费观看不卡| 欧美尺度大的性做爰视频| 国产伦精品免费视频| 亚洲女在线观看| 日韩精品在线观| 亚洲视频欧美视频| 欧美精品福利在线| 色综合久久88色综合天天看泰| 欧美中文字幕在线播放| 久久精品福利视频| 久久亚洲国产精品| 欧美视频在线免费| 国产精品久久色| 亚洲精品成人网| 久久久久久国产精品美女| 国产成人拍精品视频午夜网站| 欧美日韩人人澡狠狠躁视频| 欧美日本国产在线| 日韩有码片在线观看| 97av在线视频免费播放| 国产美女久久久| www.xxxx精品| 久久五月天综合| 国产精品久久久久福利| 欧美成人一区在线| 精品国偷自产在线| 国产精品色悠悠| 成人国产精品日本在线| 日韩美女av在线免费观看| 国产精品一区二区电影| 性欧美视频videos6一9| www.亚洲一二| 欧美成人亚洲成人日韩成人| 亚洲日本成人女熟在线观看| 97国产成人精品视频| 国色天香2019中文字幕在线观看| 亚洲自拍另类欧美丝袜| 精品网站999www| 色琪琪综合男人的天堂aⅴ视频| 国产男人精品视频| 国产69久久精品成人| 久热精品视频在线观看一区| 久久影视电视剧免费网站清宫辞电视| 国产精品99蜜臀久久不卡二区| 亚洲免费小视频| 亚洲激情电影中文字幕| 亚洲精品国精品久久99热一| 久久97精品久久久久久久不卡| 91日本视频在线| 亚洲国产91精品在线观看| 在线国产精品播放| 日韩电影大全免费观看2023年上| 久久91亚洲人成电影网站| 亚洲国产欧美一区二区三区同亚洲| 成人黄色在线观看| 成人免费视频网址| 亚洲国产精品久久久久秋霞不卡| 国产欧亚日韩视频| 亚洲全黄一级网站| 91精品国产电影| 亚洲成人久久久| 国产日韩欧美一二三区| 欧美日韩亚洲一区二| 日韩美女在线看| 国产精品成久久久久三级| 国产成人精品一区二区三区| 久久久免费观看视频| 欧美中文字幕在线视频| 亚洲第一色在线| 海角国产乱辈乱精品视频| 精品视频在线播放| 国产精品尤物福利片在线观看| 国产精品一区二区性色av| 亚洲人成欧美中文字幕| 国产精品久久久久久久7电影| 亚洲社区在线观看| 亚洲在线一区二区| 欧美激情亚洲自拍| 国产视频精品xxxx| 狠狠做深爱婷婷久久综合一区| 国产精品96久久久久久| 国产精品狠色婷| 最近2019年好看中文字幕视频| 日韩最新在线视频| 久久久精品免费| 国产精品一区二区久久精品| 免费成人高清视频| 高清日韩电视剧大全免费播放在线观看| 97超级碰碰人国产在线观看| 国产91免费观看| 欧美大片网站在线观看| 在线精品国产成人综合| 欧美激情国内偷拍| 国产精品黄色影片导航在线观看| 欧美大尺度激情区在线播放| 成人av色在线观看| 国产亚洲精品久久久优势| 国产精品免费小视频| 欧美亚洲一区在线| 亚洲片国产一区一级在线观看| 欧美激情2020午夜免费观看| 91九色精品视频| 欧美在线亚洲一区| 伊人精品在线观看| 久久久免费高清电视剧观看| 亚洲片在线观看| 91在线观看免费高清完整版在线观看| 欧美日韩中文字幕在线视频| 97在线免费视频| 日韩成人av在线播放| 国产视频综合在线| 亚洲free嫩bbb| 亚洲男子天堂网| 亚洲电影免费观看高清| 日韩电影中文字幕av| 日韩免费在线看| 日韩精品中文字幕久久臀| 国产91ⅴ在线精品免费观看| 国产精品久久久久久婷婷天堂| 成人做爰www免费看视频网站| 欧美成人精品在线| 久久久久久久久中文字幕| 成人综合国产精品|