满意答案
NightmareJJ
2013.03.16
采纳率:47% 等级:12
已帮助:11233人
先看第一个
main() // 主函数
{printf("%ld\n", fun(3));} //输出fun(3)这个函数的返回值,3就是下一个
//函数中的n 值。
long fun (int n) //定义fun函数,在这道题目中,其n值为3
{ long s; //定义s
if(n= =1|| n= =2) //当n为1 或者n为2 的时候
s=2; //S值为2
else s=n-fun(n-1); //当n为其他的值的时候,s的值为n-fun(n-1);
//在这道题目中,由于n为3,s的值就是3-fun(2)
//因此就是3-2,也就是1。
return s;} //返回s的值,也就是返回1
因此第一题答案为1。
再看第2个
#define SQR(X) X*X //这个是预定义,
//意思是说当发现SQR(X),就以X*X来代替。
main() // 主函数
{ int a=16,k=2,m=1; //定义并赋初值
a/=SQR(k+m); // 这个是简写,写完整就是a=a/SQR(k+m);
// 因为有预定义,要把SQR(X),以X*X来代替
// 把X替换成"k+m"所以写明白点就是
// a=a/(k+m*k+m),算出来就是3
printf("d\n",a);//你这个写错了,我把"d\n"删除了以后,
//经过调试,结果是3
}
40分享举报