来看一个C语言笔试题,应该很少有人能给出正确答案。
#includeint f(){ printf("this is f ... "); return 1; } int g(){ printf("this is g ... "); return 2; } int main() { printf("%d %d ", f(), g()); return 0; }
代码很简单,函数 f 输出一个字符串,返回整数 1。
函数 g 输出一个字符串,返回整数 2。
主函数中用 printf 输出两个函数的函数值,后面的参数一个是函数 f,一个是函数 g。
运行程序应该会有三行输出,两个函数输出两个,主函数中再打印两个数字。
问题是,这三个输出的顺序应该是什么样的?有没有同学能看出答案,可以写在评论区。
运行程序,先打印 g,再打印 f,最后输出 1 2。
这个结果确实耐人寻味,先调用了函数 g,然后再调用函数 f,写在前面的反而最后调用。
不过这还没结束,再来换个 ARM 平台。
相同的代码,这次却先输出 f,再输出 g,顺序和参数的顺序一致。
好像已经看出了结果,调用的顺序不一定,得看编译器。
最后,再来看下C语言官方文档,确实提到了这一点,函数参数的计算顺序属于为指定行为。
之所以未指定,是想让编译器充分利用自身架构的特点,所以在写代码的时候,不要依赖他们的计算顺序。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
C语言
+关注
关注
183文章
7646浏览量
146108 -
代码
+关注
关注
30文章
4975浏览量
74349
原文标题:又一个无解笔试题
文章出处:【微信号:学益得智能硬件,微信公众号:学益得智能硬件】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
嵌入式春招笔试高频算法题(附解题思路)
的应届生、新手打造,整理了5道嵌入式春招笔试高频算法题,覆盖数组、链表、字符串、进制转换等核心考点,每道题都附上“题干+解题思路+C语言代码实现”,贴合嵌入式笔试场景,可直接复制练习,
发表于 03-18 10:08
C语言特性
1、高效性:直接操作硬件
C 语言代码的执行效率极高,这是其最为显著的优势之一。它能够直接访问硬件资源,与底层硬件进行紧密交互,充分发挥硬件的性能潜力。在嵌入式开发中,硬件资源往往十分有限,对程序
发表于 11-24 07:01
常见电子类硬件笔试题整理(含答案)
violation,画图说明,并说明解决办法。(威盛VIA2003.11.06上海笔试试题)
Setup/hold time是测试芯片对输入信号和时钟信号之间的时间要求。建立时间是指触发器的时钟信号
发表于 06-27 15:05
最全的硬件工程师笔试试题集
硬件面试题之一
1、下面是一些基本的数字电路知识问题,请简要回答之。
(1) 什么是 Setup 和 Hold 时间?
答:Setup/Hold Time 用于测试芯片对输入信号和时钟信号之间的时间
发表于 06-26 15:34
常见电子类硬件笔试题整理(含答案)
violation,画图说明,并说明解决办法。(威盛VIA2003.11.06上海笔试试题)
Setup/hold time是测试芯片对输入信号和时钟信号之间的时间要求。建立时间是指触发器的时钟信号
发表于 05-26 14:30
主流的 MCU 开发语言为什么是 C 而不是 C++?
在单片机的地界儿里,C语言稳坐中军帐,C++想分杯羹?难喽。咱电子工程师天天跟那针尖大的内存空间较劲,C++那些花里胡哨的玩意儿,在这儿真玩不转。先说内存这道坎儿。您当stm32f4的
【硬件方向】名企面试笔试真题:大疆创新校园招聘笔试题
名企面试笔试真题:大疆创新校园招聘笔试题-硬件
是几年前的题目,不过值得参考一下哦
纯分享贴,有需要可以直接下载附件获取完整资料!
(如果内容有帮助可以关注、点赞、评论支持一下哦~)
发表于 05-16 17:31
硬件工程师面试/笔试经典 100 题
分享一些常见的硬件工程师面试/笔试题。公众号后台回复关键字:100题,可获取完整的PDF。--END--免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系,谢谢!加入粉丝
深入理解C语言:C语言循环控制
在C语言编程中,循环结构是至关重要的,它可以让程序重复执行特定的代码块,从而提高编程效率。然而,为了避免程序进入无限循环,C语言提供了多种循环控制语句,如break、continue和
硬件工程师面试必看试题(经典)
时间。(Infineon 笔试试题)
15、电阻 R 和电容 C 串联,输入电压为 R 和 C 之间的电压,输出电压分别为 C 上电压和 R
上电 压,要求制这两种电路输入电压的频
发表于 04-21 15:36
C语言笔试题
评论