1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. 這個程序執行后會有什么錯誤或者效果

        時間:2023-04-04 17:41:10 筆試題目 我要投稿
        • 相關推薦

        這個程序執行后會有什么錯誤或者效果

          #define MAX 255

        這個程序執行后會有什么錯誤或者效果

          int main()

          {

          unsigned char A[MAX],i;//i被定義為unsigned char

          for (i=0;i<=MAX;i++)

          A[i]=i;

          }

          解答:死循環加數組越界訪問(C/C++不進行數組越界檢查)

          MAX=255

          數組A的下標范圍為:0..MAX-1,這是其一..

          其二.當i循環到255時,循環內執行:

          A[255]=255;

          這句本身沒有問題..但是返回for (i=0;i<=MAX;i++)語句時,

          由于unsigned char的取值范圍在(0..255),i++以后i又為0了..無限循環下去.

          struct name1{

          char str;1 short x;2

          int num;

          }

          struct name2{

          char str;0

          int num;4

          short x;6

          }

          sizeof(struct name1)=8,sizeof(struct name2)=12

          在第二個結構中,為保證num按四個字節對齊,char后必須留出3字節的空間;同時為保證整個結構的自然對齊(這里是4字節對齊),在x后還要補齊2個字節,這樣就是12字節。

          intel:

          A.c 和B.c兩個c文件中使用了兩個相同名字的static變量,編譯的時候會不會有問題?這兩個static變量會保存到哪里(棧還是堆或者其他的)?

          static的全局變量,表明這個變量僅在本模塊中有意義,不會影響其他模塊。

          他們都放在數據區,但是編譯器對他們的命名是不同的。

          如果要使變量在其他模塊也有意義的話,需要使用extern關鍵字。

          struct s1

          {

          int i: 8;

          int j: 4;

          int a: 3;

          double b;

          };

          struct s2

          {

          int i: 8;

          int j: 4;

          double b;

          int a:3;

          };

          printf(“sizeof(s1)= %d\n”, sizeof(s1));

          printf(“sizeof(s2)= %d\n”, sizeof(s2));

          result: 16, 24

          第一個struct s1

          {

          int i: 8;

          int j: 4;

          int a: 3;

          double b;

          };

          理論上是這樣的,首先是i在相對0的位置,占8位一個字節,然后,j就在相對一個字節的位置,由于一個位置的字節數是4位的倍數,因此不用對齊,就放在那里了,然后是a,要在3位的倍數關系的位置上,因此要移一位,在15位的位置上放下,目前總共是18位,折算過來是2字節2位的樣子,由于double是 8字節的,因此要在相對0要是8個字節的位置上放下,因此從18位開始到8個字節之間的位置被忽略,直接放在8字節的位置了,因此,總共是16字節。

          第二個最后會對照是不是結構體內最大數據的倍數,不是的話,會補成是最大數據的倍數

        【這個程序執行后會有什么錯誤或者效果】相關文章:

        戰略執行力對執行效果的影響研究論文提綱03-28

        為什么會有閏月08-31

        執行監督權在執行程序中的適用12-20

        HR請問武漢面試后的通知具體什么時候會有消息?11-19

        股權執行中法律程序的應用03-14

        紋唇會有什么壞處08-17

        什么面霜補水效果好01-09

        終結執行程序申請書09-28

        利用Excel執行審計分析程序03-22

        淺論執行股權中法律程序的應用03-18

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>