【牛客网】每天刷题--第三天

本文介绍了C++中自增运算符的使用规范,特别是对于表达式的限制。同时,深入探讨了一个递归函数的例子,解析了fun函数的计算过程,展示了如何通过递归求解特定数值。最后,涉及到了字符数组的输入输出,解释了当输入字符串时,静态局部变量的初始化情况以及打印结果。
摘要由CSDN通过智能技术生成

1.int a=5,则 ++(a++)的值是?

答案:编译出错

解析:

++ 是一目运算符,自增运算,它只能用于一个变量,即变量值自增1, 不能用于表达式。
++(a++) 里,小括号优先。
(a++) 是 表达式,按运算规则,不能对 表达式 作 自增运算


2.考虑以下代码,fun(5)的结果为

int fun (int n) {
    int x = 1, k;
    if (n == 1) return x;
    for(k = 1;  k < n;  ++k)
    x = x + fun(k) * fun(n - k);
    return x;
}

答案:51

解析:

f(1)=1;

f(2)=1+f(1)*f(1)=2;

f(3)=1+f(1)*f(2)+f(2)*f(1)=5;

f(4)=1+f(1)*f(3)+f(2)*f(2)+f(3)*f(1)=15;

f(5)=1+f(1)*f(4)+f(2)*f(3)+f(3)*f(2)+f(4)*f(1)=51;


 3.若输入ab('a'的ascii码是97),程序运行结果为()

int main(){ 
    static char a[3];
    scanf("%s",a);
    printf("%d,%d",a[1],a[2]);
    return 0;
}

答案:98,0

解析:静态局部变量执行默认初始化,所以a的值为空格空格空格,输入ab以后,a[0]="a",a[1]="b",a[2]=" ",打印就是C

4.return只能返回一个符合返回类型的值,不能返回多个


5.指针就是地址,因此一个变量的指针就是该变量的地址。请问这句话的说法是正确的吗?

答案:错误

解析:一个变量的指针指向的内容才是这个变量的地址


  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瑟瑟发抖的可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值