请高手帮我解决一下这道C语言题目,谢谢!

以下程序的输出结果为( )
#include<stdio.h>
long fun(int n)
{
long s;
if(n==1‖n==2)s=2;
else s=n-fun(n-1);
return s;
}
main( )
{
printf("%ld\n",fun(3));
}
A 1 B 2 C 3 D 4

s=fun(3)=3-fun(3-1)=3-fun(2)=3-2=1
所以选A.
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-12
3-2=1 选择 A
第2个回答  2010-07-12
f(3)=3-f(2)=3-2=1.选A
第3个回答  2010-07-12
#include <stdio.h>

long fun(int n)
{
long s;
if(n==1||n==2)
s=2;
else
s=n-fun(n-1);
return s;
}
main()
{
printf("%ld\n",fun(3));
}
放入VC6.0运行,结果为 1 选择A

请高手帮我解决一下这道C语言题目,谢谢!
s=fun(3)=3-fun(3-1)=3-fun(2)=3-2=1 所以选A.

请高手帮我解决一下这道C语言题目,谢谢!
答案C

请高手帮我解决一下这道C语言题目,谢谢!
a的地址传给n,while 把a的值变为 -1,因为while跳出循环的条件是0,而测试的是减一之前的a,所以a的值变为-1了,输出之前,a的值又被加为0,所以结果是 0

请高手帮我解决一下这道C语言题目,谢谢!
1、1234567 s1指针指向1,s2指针指向7 t=*s1++ s1指针指向2(t得到1的值 1)s1=*s2-- s2指针指向6(值发生改变1734567)s2=t; (值发生改变1734517)2、s1指针指向2,s2指针指向6 t=*s1++ s1指针指向3(t得到2的值 7)s1=*s2-- s2指针指向5(值发生改变1714517)s2=t; ...

一道c语言问题,请各位高手们帮帮忙,谢谢
char p[][20]={“get”,”put”,”out”};p是一个有3个元素的数组,数组中的每个元素都是一个char[20]类型的数组。也就是说,p是一个二维数组。strlen(p[0])+strlen(p[1])+ strlen(p[2])即计算p中的三个字符串的长度总和,为3+3+3=9。

谁能帮我解释一下这道c语言题目啊 不懂
1.转换说明符 a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99)c 字符 d 有符号十进制整数 f 浮点数(包括float和doulbe)e(%E) 浮点数指数输出[e-(E-)记数法]g(%G) 浮点数不显无意义的零"0"i 有符号十进制整数(与%d相同)u 无符号十进制整数 o 八进制...

c语言有一道题不会做,求高手解,最好分析一下。
答案是:C 因为scanf("%c%c",&a,&b);接收的是1和2,在输入后按了“回车”这个回车符会传递到下一句,也就是:c=getchar(); ,这样 c 赋值为回车符了;d=getchar(); 接着就是这句,你输入34的时候,d 只接收单个字符,也就是 3 ;所以最后的输出是:12 3 ...

C语言高手帮忙做这三道题,要详解 谢谢拉!!
1、A while()是判断括号里的是真还是假,若表达式为0,就是假,若表达式非0,就是真。"!"是非逻辑运算符,简单说就是把非0变成0,把0变成1。。。"while(!x)”就是"(!x)"取真是进行循环,就是"!x"的值为非0时,就是"x"的值为0时。所以就是x==0.2、C 这题和上题一样,就是(m...

请各位C语言高手帮忙解决下面的问题。
printf("请输入15个数:\\n");for(i=0; i<15; i++){ scanf("%d", a+i);} printf("\\n请输入要查找的数:\\n");scanf("%d", &target);ret = binary_find(a, target, 0, 14);if(-1 != ret){ printf("\\n%d找到了, 它是a[%d]\\n", target, ret);} else { printf("\\...

我这有一道C语言的题看不懂,真心求帮助,各位C语言高手拜托啦,
栈是一种特殊的存储空间,他用的是后进先出的数据处理方式 有两个标量,bottom和top,表示栈底和栈顶,初始时,栈为空,那么bottom和top肯定都是0 目前你栈的存储空间是s(1:40)也就是说最多可以存40个数据 栈每存入一个数据(入栈),top就增1,每出栈一次,top就减1,所以,当你top==20时,...

相似回答
大家正在搜