错题汇总04

1.以下C语言指令:

int a[5] = {1,3,5,7,9};
int *p = (int *)(&a+1);
printf(“%d,%d”,*(a+1),*(p-1));
运行结果是什么?
A 2,1
B 3,1
C 3,9
D 运行时崩溃

数组名只有在&与sizeof之后,才表明数组本身,其余表示首元素地址

&a也是一个地址,该地址类型为:int(*)[5]  

a是一个数组,数组类中是int[5]

 2.二维数组X按行顺序存储,其中每个元素占1个存储单元。若X[4][4]的存储地址为Oxf8b82140,

X[9][9]的存储地址为Oxf8b8221c,则X[7][7]的存储地址为
A Oxf8b821c4
B Oxf8b821a6
C Oxf8b82198
D Oxf8b821c0

3.下面程序的执行结果是

#include <stdio.h>
int cnt = 0;
int fib(int n) {
cnt++;
if (n == 0)
return 1;
else if (n == 1)
return 2;
else
return fib(n - 1) + fib(n - 2);
}
void main() {
fib(8);
printf("%d", cnt);
}

 A 41

B 67

C 109

D 177

cnt实际在统计:斐波那契递归的次数

F0:1次

F1:1次

F2:F0+F1=3

F3:F2+F1=3+1+1=5

F4:F3+F2=5+3+1=9

F5:F4+F3=9+5+1=15

F6:F5+F4=15+9+1=25

F7:F6+F5=25+15+1=41

F8:F7+F6=41+25+1=67

 编程题

1.计算糖果_牛客题霸_牛客网

2.进制转换_牛客题霸_牛客网

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值