zoukankan      html  css  js  c++  java
  • 最近面试的一些题

    1.数据库回滚操作 sql语句

     

    2.

     输出下面程序的运行结果

     

    View Code
     1 #include <stdio.h>
     2 
     3 int main() {
     4 
     5 struct aa { int a; int b; }aa;
     6 
     7 union bb { int a; int b; }bb;
     8 
     9 aa.a = 1; aa.b = 2;
    10 
    11 bb.a= 3; bb.b = 5;
    12 
    13 printf("%d %d\n",aa.a,aa.b);
    14 
    15 printf("%d %d\n",bb.a,bb.b);
    16 
    17 return 0; }
    18 
    19  

     

     共用体表示几个变量共用一个内存位置,在不同的时间保存不同的数据类型和不同长度的变量。在union中,所有的共用体成员共用一个空间,并且同一时间只能储存其中一个成员变量的值。 

     

    看一下对应的汇编代码,发现第25,26行都是对[ebp-0Ch] 进行赋值,即下面一个是进行重新赋值!

     

     1 22:     aa.a = 1;
     2 
     3 00401028   mov         dword ptr [ebp-8],1
     4 
     5 23:     aa.b = 2;
     6 
     7 0040102F   mov         dword ptr [ebp-4],2
     8 
     9 24:
    10 
    11 25:     bb.a= 1;
    12 
    13 00401036   mov         dword ptr [ebp-0Ch],1
    14 
    15 26:     bb.b = 51;
    16 
    17 0040103D   mov         dword ptr [ebp-0Ch],33h
    18 
    19 27:
    20 
    21 28:
    22 
    23 29:     printf("%d %d\n",aa.a,aa.b);

     

     

     

    3.  输出下面的结果

     

      

     1 #include <stdio.h>
     2 
     3  
     4 
     5 int main()
     6 
     7 {
     8 
     9  
    10 
    11  
    12 
    13 int a[] = {1,2,3,4,5,6,7,8};
    14 
    15  
    16 
    17  
    18 
    19 char * p = (char *)a;
    20 
    21 p = p +4;
    22 
    23  
    24 
    25 printf("%d %d",*(a+4),*(int *)p);
    26 
    27  
    28 
    29 return 0;
    30 
    31 }

     

     4.下面这个程序编译有没有问题,如果有,请指出来!

     1 #include <iostream>
     2 using namespace std;
     3 
     4 
     5 class A
     6 {
     7     
     8 public :
     9     virtual int  f()
    10     {
    11         cout<<"1"<<endl;
    12         return 1;
    13         
    14     }
    15     
    16     void g()
    17     {
    18         f();
    19     }
    20     
    21 };
    22 
    23 
    24 
    25 class B  :public A
    26 {
    27 public:
    28     virtual int f()
    29     {   
    30         cout<<"2"<<endl;
    31         return 2;
    32     } 
    33     
    34     
    35     
    36 };
    37 
    38 
    39 int main()
    40 {
    41     B  o;
    42     o.g();
    43     
    44 }

     

  • 相关阅读:
    apache和tomcat有什么不同,为什么要整合apache 和tomcat?
    servlet
    关于Spring配置文件xml文档的schema约束
    request对象和response对象
    多线程
    数据结构得到连续数据的手段java Enumeration
    程序员八荣八耻
    windows更改MySQL存储路径
    Tomcat源码学习(1)
    Tomcat源码学习(2)——启动过程分析
  • 原文地址:https://www.cnblogs.com/pipicfan/p/2577042.html
Copyright © 2011-2022 走看看