| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3463 人关注过本帖
标题:[求助]请问下中括号的问题
只看楼主 加入收藏
kircheisgtx
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-15
收藏
得分:0 
以下是引用unicorn在2006-10-25 20:39:13的发言:

递归顺序
s=5+fun(4)
fun(4): s=4+fun(3)
fun(3):s=3+fun(2)
fun(2)//满足if(n<=2)s=2; 输出 2 return 2; 即返回到fun(3)
fun(3):执行printf语句 s=3+fun(2)=3+2=5 输出 5 ,return 5 并返回到fun(4)
fun(4):执行printf语句 s=4+fun(3)=4+5=9 输出 9 ,return 9 并返回到fun(5)
fun(5):执行printf语句 s=5+fun(4)=5+8=14 输出 14 ,return 14 结束

哦~~~~`对的对的,谢谢斑竹哈

2006-10-25 20:55
zzsy04et138
Rank: 1
等 级:新手上路
帖 子:113
专家分:0
注 册:2006-10-18
收藏
得分:0 
main()
{static int a[][3]={9,7,5,3,1,2,4,6,8};
int i,j,s1=0,s2=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{if(i==j) s1=s1+a[i][j];
if(i+j==2) s2=s2+a[i][j];
}
printf("%d\n%d\n"s1,s2);
}
如上,规范了书写格式应该有助于看何时输出.不懂是不是这样,呵呵

2006-10-28 10:20
fans
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-9-4
收藏
得分:0 
以下是引用kircheisgtx在2006-10-25 15:50:11的发言:
第1题
main()
{static int a[][3]={9,7,5,3,1,2,4,6,8};
int i,j,s1=0,s2=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{if(i==j) s1=s1+a[i][j];
if(i+j==2) s2=s2+a[i][j];
}
printf("%d\n%d\n"s1,s2);
}
如题,这题小弟就是搞不懂该何时输出,比方第一次i==j时候,s1=s1+a[i][j];这个时候为什么没有输出而是再次循环知道最后s1=a[0][0]+a[1][1]+a[2][2]之后再输出结果呢,该如何看这个中括号的意义,请达人解释一下可以吗

楼主可以试试在每次for语句和if语句后都加上大括号.这个可以避免这类问题.

以下是楼主的程序加上括号后的形式, 自己分析下为什么有这些问题:

main()
{
static int a[][3]={9,7,5,3,1,2,4,6,8};
int i, j, s1=0, s2=0;

for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(i==j) s1=s1+a[i][j];
if(i+j==2) s2=s2+a[i][j];
}
}

printf("%d\n%d\n"s1,s2);
}

[此贴子已经被作者于2006-10-29 18:59:06编辑过]

2006-10-29 18:56
快速回复:[求助]请问下中括号的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014636 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved