日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux兴趣小组2017面试题浅析

發布時間:2023/11/30 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux兴趣小组2017面试题浅析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

linux興趣小組2017面試題

1. 分析下列程序的輸出.

int main(int argc, char *argv[]) {int t = 4;printf("%lu\n", sizeof(t--));printf("%lu\n", sizeof("ab c\nt\012\xa1*2"));return 0; }
  • 若運行printf(“%d\n”,t); 結果為4,因為sizeof是關鍵字,且其后面的內容在編譯時運算并替換為運算后的數值,在運行程序時直接調用替換值,不再進行t–的運算,故t仍是4.
  • 在進行sizeof運算時,\n\012\xa1 分別為一個字符,且包含結束符\0.
  • 2. 下面代碼會輸出什么?

    int main(int argc, char *argv[]) {int a = 10, b = 20, c = 30;printf("%d %d\n", b = b*c, c = c*2) ;printf("%d\n", printf("%d ", a+b+c));return 0; }
  • printf函數的運行機制為在棧上申請存儲空間, 規則為先進后出, 因此printf()表現為參數從右向左運算, 即 c = 60 (c = 2), b = 1200 (b = c).
  • printf函數的返回值為所打印字符的列寬(長度).
  • 3.下面代碼使用正確嗎?若正確,請說明代碼的作用;若不正確,請指出錯誤并修改。

    void get_str(char *ptr) {ptr = (char*)malloc(17);strcpy(ptr, "Xiyou Linux Group"); } int main(int argc, char *argv[]) {char *str = NULL;get_str(str);printf("%s\n", str); }
  • 主函數中的指針變量str指向空指針, 在作為參數傳進函數 get_str 時傳給 ptr 時, 在被調函數中僅僅將 ptr 指向的內存地址變為了malloc函數申請的空間, 而主函數中的str仍指向空指針,并不會輸出字符.
  • 解決方法:
    1) 使用二級指針

    void get_str(char **ptr) {*ptr = (char*)malloc(17);strcpy(*ptr, "Xiyou Linux Group"); } int main(int argc, char *argv[]) {char *str = NULL;get_str(&str);printf("%s\n", str); }

    2) 使用函數返回值將新地址返回

    char * get_str(char *ptr) {ptr = (char*)malloc(17);strcpy(ptr, "Xiyou Linux Group");return ptr; } int main(int argc, char *argv[]) {char *str = NULL;str = get_str(str);printf("%s\n", str); }
  • 4. 請解釋下面代碼的輸出結果。

    size_t q(size_t b) {return b; } size_t (*p(char *str))(size_t a) {printf("%s\n", str);return q; } int main(int argc, char *argv[]) {char str[] = "XiyouLinuxGroup";printf("%lu\n", p(str)(strlen(str)));return 0; }
  • 該題考察的點為返回值為函數指針的函數(詳情見《LinuxC 編程實戰》P78).
  • size_t (*p(char *str))(size_t a)是一個返回值為函數指針的函數,首先看 p ,因為()的優先級比*高,所以p先與()結合,p(char *str)是含有字符型指針參數的函數,返回值是size_t (*)(size_t a),也就是一個指向函數的指針.該指針指向的函數有size_t類型的參數.
  • 9. 說明下面程序的運行結果。

    int main(int argc, char *argv[]) {int a, b = 2, c = 5;for(a = 1; a < 4; a++){switch(a){b = 99;case 2:printf("c is %d\n", c);break;default:printf("a is %d\n", a);case 1:printf("b is %d\n", b);break;}}return 0; }
  • 輸出結果為:

    b is 2 c is 5 a is 3 b is 2
  • switch 中 case 之上的語句(賦值語句,輸出語句等)會被跳過, 在本題中表現為 b = 99; 被跳過, 因此b的值仍為2.

  • 14. 請修改下面的 swap 函數,使得既可以交換 int 類型的參數,也可以交換 double 類型的參數。

    void swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp; }
  • 可以用宏定義:

    #define swap(a, b) ((x)=(x)+(y),(y)=(x)-(y),(x)=(x)-(y))
  • 多加一個參數代表數字所占字節數,并使用memcpy函數:

    void swap(int *a, int *b, int size)
    {
    char buffer[8];
    memcpy(buffer, a, size);
    memcpy(a, b, size);
    memcpy(b, buffer, size);
    }
  • 16. 請設計一個程序,通過命令行參數接收一個文件名 filename.txt( 純文本文件 ) 和一個整型數字 n,實現從 filename.txt 中刪除第 n 行數據。

    詳細內容請看大佬的10種解法

    17.解釋程序輸出結果

    struct node {char a;short b;int c; }; int main(int argc, char *argv[]) {struct node s;memset(&s, 0, sizeof(s));s.a = 3;s.b = 5;s.c = 7;struct node *pt = &s;printf("%d\n", *(int*)pt);printf("%lld\n", *(long long *)pt);return 0; }
  • 本題主要考察大小端、內存對齊、強制類型轉換問題。
  • 大小端 : 一般電腦采用小端,即存儲時“低位在前,高位在后”,例如整型1在存儲時二進制碼為0000...0001(31個0, 1個1),而在內存中存儲時,實際存放順序為

    00000001
    00000000
    00000000
    00000000

  • 為了提高計算機讀取內存內容的速度,采用的內存對齊的方法,各變量存儲的首地址必須為 自身所占內存大小 的整數倍。因為該結構體中a占1字節, b占2字節, c占4字節, 若a,b之間無空字節,則c首地址將會是3(設首地址為0), 且b首地址將是1, 不符合規則, 因此在a后添加一個空字節(內容全為0),以及技能性內存對齊;

  • 強制類型轉換 : 以 (int*)pt 為例,將該數組強制轉化為 int 型,即讀取時只讀取前四個字節的內容,再轉化為整型輸出。
  • 深入了解請看大佬的博客
  • 總結

    以上是生活随笔為你收集整理的linux兴趣小组2017面试题浅析的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 精品国偷自产在线 | 久久精品av| 麻豆av毛片 | 夏目彩春娇喘呻吟高潮迭起 | 椎名由奈av一区二区三区 | 日韩欧美视频免费观看 | 黄色一级片免费观看 | 亚洲色精品三区二区一区 | 波多野结衣 在线 | 国产一区久久久 | 天堂网在线视频 | 欧美日韩成人 | 国产女人18毛片水真多18精品 | 2019中文字幕在线观看 | 精品人妻久久久久一区二区三区 | 丰满岳妇乱一区二区三区 | 人妻一区二区在线 | 国产又大又黄的视频 | 啦啦啦免费高清视频在线观看 | 久久99精品国产麻豆91樱花 | 欧洲一区在线 | 亚洲麻豆av| 亚洲69av| 香蕉久久夜色 | 国产色| 神马午夜电影一区二区三区在线观看 | 亚洲在线成人 | 国产不卡av在线播放 | 视频在线看 | 99久免费精品视频在线观78 | 国产人久久人人人人爽 | 99热青青草| 国产精品对白刺激久久久 | 看一级黄色 | 天天干干干| 欧美午夜在线观看 | 在线看片日韩 | 国产同性人妖ts口直男 | 欧美大片一区 | 欧美精品一区二区三区久久久竹菊 | 一区二区三区中文字幕在线观看 | 一区二区网站 | 免费看av大片 | 91精品人妻一区二区三区蜜桃2 | 9.1成人免费看片 | 38在线视频 | 日韩福利一区二区三区 | 香蕉视频在线免费 | 色多多污污 | av网址免费在线观看 | 国产一区二区内射 | 四虎精品在永久在线观看 | 一级做a爱片久久毛片 | av电影在线不卡 | 制服诱惑一区 | 91丝袜美腿 | 欧美第二区 | 五月综合激情网 | 人妻体内射精一区二区三区 | 国产97在线观看 | 爽爽影院在线 | 97国产视频| 六月婷婷av | 日韩在线视频网 | 国产免费一区二区视频 | 黄色国产一区二区 | 男人午夜av | 成人动态视频 | 91精品一区二区三区在线观看 | 午夜色网 | 樱桃香蕉视频 | 激情婷| 色女仆影院 | 免费看美女隐私网站 | 夜夜免费视频 | 国产成人精品一区 | 午夜黄色 | 亚洲精品一二区 | 色婷婷激情 | 少妇粉嫩小泬喷水视频www | 久久久久黄色 | 久久狠 | 伊人精品视频 | 久久不射网站 | 黄色免费视频观看 | 欧美大尺度视频 | 国产嫩草在线观看 | 久久亚州 | 欧美日韩精品中文字幕 | 色妞在线| 青草视频在线观看视频 | 日韩欧美在线观看视频 | 好吊色免费视频 | 一区二区视频国产 | 视频福利在线观看 | 在线观看中文字幕 | 国产女同91疯狂高潮互磨 | 国产玖玖在线 | 免费看裸体网站 |