首页 > 试题广场 >

以下代码的输出和x函数被调用的次数分别是?

[单选题]
对于下面代码:
int x (int n) {
    if (n <= 3)
        return 1;
    else
        return x (n - 2) + x (n - 4) + 1;
}
int main (void) {
    printf ("%d\n", x (x (8)));
    return 0;
}
输出和x函数被调用的次数分别是()
  • 9和18
  • 9和9
  • 2和12
  • 2和18
一直不明白这样的题目有什么意思。
发表于 2021-12-20 17:26:56 回复(0)
题目可能有一些歧义,但主要意思应该是:输出是多少,调用的次数是多少。而非输出被调用的次数是多少。请仔细阅读一下题目。
发表于 2022-05-19 07:42:53 回复(0)
int x (int n) {
    printf ("%d ");// 加一行输出
    if (n <= 3)
        return 1;
    else
        return x (n - 2) + x (n - 4) + 1;
}
int main (void) {
    printf ("%d\n", x (x (8)));
    return 0;
} 
直接跑,我才不数
发表于 2022-03-12 10:24:05 回复(1)
输出不是只有一个printf吗 为什么会有9次呢
发表于 2021-12-16 20:04:32 回复(1)
听君一席话,如听一席话
发表于 2021-10-07 09:19:18 回复(0)
输出9次是什么东东

发表于 2023-02-14 15:27:34 回复(0)
发表于 2022-11-28 10:42:43 回复(0)
X(8)执行9次数,X(X(8))执行9次;
发表于 2022-11-03 09:45:08 回复(0)
1的个数对应两次调用,故选A
发表于 2021-02-02 08:23:34 回复(1)
输出结果是9,x调用了18次,语文题啊兄弟们
发表于 2023-10-08 15:29:49 回复(0)
看成输出的次数,还在找1次,蠢死
发表于 2023-09-18 10:14:19 回复(0)
逆天语文题。
发表于 2023-03-23 16:08:47 回复(0)
套娃是吧
发表于 2023-02-02 18:27:44 回复(0)
mdzz
发表于 2023-01-31 19:24:56 回复(0)
语文题,输出是多少?输出被调用的次数是多少?
发表于 2022-07-03 20:19:47 回复(0)
输出9调用18次
发表于 2022-06-08 21:16:57 回复(0)
利用递归思想 干就完了
调用9次 归9次 一共18次
发表于 2021-10-20 23:31:05 回复(0)
还是不明白,我算的是16次
发表于 2021-06-23 17:28:55 回复(1)
调用到最后值为1,只需要计算调用词数即可
发表于 2020-08-23 08:17:47 回复(0)