用c语言时犯的错

上周有个面试题,是个算法方面的(合并两个已排序好的数组),我从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++];
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容