经典指数          
原因
2160
浏览数
0
收藏数
 

对于下面的说法,正确的是____。
  • 对于 struct X { short s; int i; char c; },sizeof(X) 的值等于 sizeof(s) + sizeof(i) + sizeof(c)
  • 对于某个double变量 a,可以使用 a == 0.0 来判断其是否为零
  • 初始化方式 char a[14] = "Hello, world!"; 和初始化方式 char a[14]; a = "Hello, world!"; 的效果相同
  • 在gcc编译器下,对于 int i = 3; printf("%d %d", ++i, ++i),运行输出为:4 5
  • 选项A、B、C、D中至少有两个是正确的
  • 以上选项均不正确

     举报   纠错  
 
切换
1 个答案
6:        printf("%d,%d\n", ++i, ++i); 0040102F   mov         eax,dword ptr [ebp-4] 00401032   add         eax,1    //-------------->3+1 = 4 00401035   mov         dword ptr [ebp-4],eax 00401038   mov         ecx,dword ptr [ebp-4] 0040103B   push        ecx     //--------------->此时将i = 4压栈 0040103C   mov         edx,dword ptr [ebp-4] 0040103F   add         edx,1   //--------------->4+1 = 5 00401042   mov         dword ptr [ebp-4],edx 00401045   mov         eax,dword ptr [ebp-4] 00401048   push        eax     //--------------->此时将i= 5压栈 00401049   push        offset string "%d,%d\n" (0042401c) 0040104E   call        printf (004011a0) 00401053   add         esp,0Ch 先进后出原则-----------》输出4,5(vc6.0编译器) int i = 3; 00325BBE  mov         dword ptr [i],3   printf("%d,%d\n", ++i, ++i); 00325BC5  mov         eax,dword ptr [i]   00325BC8  add         eax,1   //------------------>3+1 = 4 00325BCB  mov         dword ptr [i],eax   00325BCE  mov         ecx,dword ptr [i]   00325BD1  add         ecx,1   //------------------>4+1 = 5 00325BD4  mov         dword ptr [i],ecx   00325BD7  mov         esi,esp   00325BD9  mov         edx,dword ptr [i]   00325BDC  push        edx   //----------------->将5压栈 00325BDD  mov         eax,dword ptr [i]   00325BE0  push        eax   //----------------->将5压栈 00325BE1  push        32CC70h   00325BE6  call        dword ptr ds:[3301ECh]   00325BEC  add         esp,0Ch   00325BEF  cmp         esi,esp   00325BF1  call        __RTC_CheckEsp (032132Fh)   先进后出原则-----------》输出5,5(vs2013编译器)
 
切换
撰写答案
扫描后移动端查看本题