找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 661|回复: 1
收起左侧

[讨论] 贡献2道面试题但是不常见

[复制链接]

2

主题

0

精华

25

积分

新米人

Rank: 1

积分
25
发表于 1-6-2016 06:33 PM | 显示全部楼层 |阅读模式

亲!马上注册或者登录会查看更多内容!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
1.
i = 0;
五个线程同时run
for (int k = 0; k < 5; k++)
++i;

i最后可能的最大值和最小值。


2.
printf(x,y,z)函数的参数在堆栈上的顺序, 是x,y,z 还是z,y,x




0

主题

0

精华

232

积分

高级会员

Rank: 3Rank: 3

积分
232
发表于 1-7-2016 03:27 AM | 显示全部楼层
被考过...
1. max = 25, min = 2
2. 首先说这个其实是描述的不定长参数。本质是约定问题,没有人规定三个参数要放栈里... 我相信,你只要给出下面的假设:
1) 格式化的字符串在第一个参数(x)
2) 设计目标先要找到第一个参数(x)
3) 再提一下栈帧惯例是先参数列表,再返回地址,再局部变量
你就能推导出结论,第一个参数紧挨这返回地址最方便

另外再补充一下, 以C函数这个不爱check的规(diao)矩(yang), 编译器/lib不会为你检查你的格式字符串和不定参数的个数是不是match, 所以你上面的方案符合这种不负责任的convention就好了...

欢迎继续补充
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表