C+高级语言程序设计 急~~~~~~~~~~~~~~~

[复制链接]
查看11 | 回复1 | 2009-4-10 10:23:05 | 显示全部楼层 |阅读模式
需要过程谢谢了
以下程序输出的结果是
#include
int fun (int k)
{if(k>0)fun(k-1);
printf("%d",k);
}
main()
{int w=3;fun(w);
printf("\n");
}
答案是0 1 2 3
过程是什么???
下面程序段执行后输出的结果是
#include
main()
{int a[2][2]={{1,2},{5,7}},*p,i;
p=&a[0][0];
for(i=0;i0)这个语句,如果成立,继续进入fun(),当if(k>0)不成立的话,打印一下k的数值,这个时候已经是0了,return,返回上一级fun()函数,再打印k,是1以此类推,返回到第一次进入的时候就是3. 关系图: fun();//k=3 printf() fun();//k=2 printf() fun();//k=1 printf() fun();//k=0 打印 printf() ----------------------------------- 第二题:是把一个二维数组强制转换成以为你就当a【2】就行了,后边不用要了。答案我看是1. 首先 a[0] = ...
回复

使用道具 举报

千问 | 2009-4-10 10:23:05 | 显示全部楼层
1,fun(3)表示先执行fun(2),然后printf("%d",k),此时K=3,fun(2)表示先执行fun(1),然后执行printf("%d",k),此时k=2,fun(1)表示先执行fun(0),printf("%d",k),此时k=1,fun(0)表示跳出if判断,直接执行("%d",k),此时k=0,所以输出结果为0123 2,感觉答案不...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行