美文网首页
用c语言时犯的错

用c语言时犯的错

作者: 学习无底 | 来源:发表于2018-03-19 23:39 被阅读10次

    上周有个面试题,是个算法方面的(合并两个已排序好的数组),我从C语言写的,回来后复盘下,有两方面的问题:

    • c语言的语法有多处犯错
    void sort(int a[]){
      //1 求出来的aCount一直会是2,因为函数调用数组传递是指针传递,a是一个指针。数组长度应该外面传入
      int aCount = sizeof(a)/sizeof(a[0]);
      //2 用变量来创建数组,应该使用malloc
      int newA[aCount] = {0};
      //3 声明与初始化变量时,只有temp会被初始化为0,可以这样声明,但要一一初始化。
      int i,j,temp = 0;
    }
    
    • 算法中细节处理的不到位
      //丢失了
      if (indexA < sizeA) {
            pTemp[index++] = a[indexA++];
        }
        if (indexB < sizeB) {
            pTemp[index++] = b[indexB++];
        }
    

    相关文章

      网友评论

          本文标题:用c语言时犯的错

          本文链接:https://www.haomeiwen.com/subject/qabmqftx.html