zoukankan      html  css  js  c++  java
  • 2011.9.27到某公司的Android面试(C/java/Android)题目总结

    9.27 面试

    1.写一个C语言的宏,求两个传入的数的绝对值的和。
    ①#define add(a,b) (((a) < 0? -(a) : (a)) + ((b) < 0? -(b) : (b)))

    #define abs(a) ( (a) < 0? -(a) : (a) )
    #define add(a,b) (abs(a) + abs(b))

    2.用java或者C倒置字符串"abcd" -> "dcba"


    //把第一个放到最后
    /*void firstToLast(char str[],int len){

     if(len <= 1) return;

     char temp = str[0];
     int i;
     for(i = 1; i < len; i++){
      str[i - 1] = str[i];
     }
     str[len - 1] = temp;
    }

    void reverseString(char str[],int len){
     int i = 0;
     for(;i < len -1; i++){
      firstToLast(str,len - i);
     }
    }*/


    void reverseString(char str[],int len){
     int i,j;
     char temp;
     for(i = 0;i < len; i++){
      temp = str[0];
      for(j = 1; j < len - i;j ++){
       str[j - 1] = str[j];
      }
      str[len - i - 1] = temp;
     }
    }

    3. C语言中 a++ 与 ++a 的区别(很多相关的填空题)

    4. C语言的逗号表达式的求值顺序问题(在a++,与++a问题中有多个逗号表达式)
     ---->区别:a++先使用a原来的值,使用后在让a的值自加一, ++a先将a的值加一,然后使用改变后的a的值。
    例如:

     int inc(int a)
     {
      printf("intc : %d\n",a);
      return a++;
     }
     
    main函数中:
     int a = 1;

     printf("%d\n",a++);  //1

     printf("%d\n",++a);  // 3

     printf("%d,%d\n",a,inc(a++));  //4,3
     printf("%d\n",a);  //4
     printf("%d\n",inc(++a));//5

     //printf("%d\n",++3); //语法错误

  • 相关阅读:
    ProtoType Design Tools
    什么是publickeytoken及publickeytoken的作用
    Windows最高权限system帐户
    Q70 AV01本本安装MAC
    解决MDict3在PPC下乱码的问题
    QT_XSP.CPP
    QT_XSP.CPP
    SetupFactory脚本
    DVD IFO FILE HEADER
    SerialPort comstat is being used without defining
  • 原文地址:https://www.cnblogs.com/cody1988/p/2193404.html
Copyright © 2011-2022 走看看