这是国外某嵌入式公司的C语言面试题,不少程序员都做错了

小微 科技这是国外某嵌入式公司的C语言面试题,不少程序员都做错了已关闭评论111字数 790阅读模式
摘要在C语言程序开发中,程序员可以在定义数组时对其初始化,并且允许只对一部分元素初始化,未显式给定初值的元素将被置零,例如:int a[5] = {1, 2};这行C语言代码执行完毕后...

在C语言程序开发中,程序员可以在定义数组时对其初始化,并且允许只对一部份元素初始化,未显式给定初值的元素将被置零,例如:

int a[5] = {1, 2};文章源自微观生活(93wg.com)微观生活-https://93wg.com/15683.html

这行C语言代码执行终了后,数组 a 中的元素将是 1,2,0,0,0。这是C语言数组的基本知识点。然而遗憾的是,从我昨天在圈子里分享的一个面试题来看,仍有部份C语言程序员认为未显式给定初值的数组元素值是不决义的。下面是国外某嵌入式公司的面试题,有人在 StackOverflow 上发问,感觉比较成心思:文章源自微观生活(93wg.com)微观生活-https://93wg.com/15683.html

国外某嵌入式公司的面试题文章源自微观生活(93wg.com)微观生活-https://93wg.com/15683.html

题外话文章源自微观生活(93wg.com)微观生活-https://93wg.com/15683.html

似乎我每一次分享一些面试题都有人觉得我是“孔乙己”,纠结这些面试题没成心义。然而真的没成心义吗?首先要明确的是,分析面试题其实不是推崇面试题中的C语言代码写法,而是讨论其暗地里暗藏的基础知识。例如,如果读者不能明白C语言数组初始化方面的性质,是没法得出这个题目的正确谜底的。文章源自微观生活(93wg.com)微观生活-https://93wg.com/15683.html

事实上,不少公司招聘时,都有一些面试题或者笔试题看起来很奇异,很不相符标准的开发规范,于是有些程序员就认为做这样的面试题是完整没成心义的。然而其实呢,这些题目可能来自公司内部的某个项目的某次重大 bug,短短的面试期间完全的描写该 bug 不太可能,只好将其抽象成一个看起来很“生僻”的面试题,考察求职者。文章源自微观生活(93wg.com)微观生活-https://93wg.com/15683.html

考察求职者文章源自微观生活(93wg.com)微观生活-https://93wg.com/15683.html

如果求职者基础不扎实,之后可能还会犯一样的过错,这是不允许的。因而,对于咱们求职者来讲,平时拿到这些面试题,首先想到的应当是它暗地里暗藏哪些知识点,查漏补缺才是正道。文章源自微观生活(93wg.com)微观生活-https://93wg.com/15683.html

分析文章源自微观生活(93wg.com)微观生活-https://93wg.com/15683.html

有不少乐于动手的读者看到题目后,当即在自己的装备上编写相关C语言代码并编译执行,然而似乎得到了两种谜底,如下所示,这是如何回事呢?文章源自微观生活(93wg.com)微观生活-https://93wg.com/15683.html

1, 0, 0, 0, 0// 或者1, 0, 1, 0, 0

其实,本题主要考察两个知识点,一是前面提到的C语言数组初始化,再就是C语言语句“序列点关于“这是国外某嵌入式公司的C语言面试题,不少程序员都做错了”的详细内容,希望对大家有所帮助!

 
小微
  • 版权声明: 本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:81118366@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
  • 转载请务必保留本文链接:https://93wg.com/15683.html