暴风影音

来源:互联网 发布:巨人网络策划笔试题 编辑:程序博客网 时间:2024/04/28 13:31

1、溢出和越界的区别是什么?

越界:一般是数组下标 
     int a[4];
     a[10] = 1;
     c和c++语言中数组下标越界,编译器是不会检查出错误的,但是实际上后果可能会很严重,比如程序崩溃等。
溢出:char str[4];
      gets(str);
     堆栈溢出就是不顾堆栈中分配的局部数据块大小,向该数据块写入了过多的数据,导致数据越界,结果覆盖了老的堆栈数据。


2、void *p = malloc(100);问sizeof(p),还有函数头上有int fun(str a[100]),函数里问sizeof(a)

sizeof(p):本质上就是计算指针的大小,sizeof(p)=4;sizeof(a):数组会退化成指针,sizeof(a)=4。


3、把字符串转化成整数,输入包含数字的字符以及符号


4、给定二叉树的前序,中序序列,编程输出后序


5、n*n的方阵,从左上角走到右下角,有多少种不同的走法