| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3465 人关注过本帖
标题:[求助]请问下中括号的问题
取消只看楼主 加入收藏
kircheisgtx
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-15
收藏
 问题点数:0 回复次数:9 
[求助]请问下中括号的问题
第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]之后再输出结果呢,该如何看这个中括号的意义,请达人解释一下可以吗

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

搜索更多相关主题的帖子: 中括号 
2006-10-25 15:50
kircheisgtx
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-15
收藏
得分:0 
不开新贴了,还有好几道题目一起问下,请回答的时候加一下是回答的第几道,谢谢
第2题
main()
{ int n[3],i,j,k;
for(i=0;i<3;i++)
n[i]=0;
k=2;
for(i=0;i<k;i++)
for(j=0;j<k;j++)
n[j]=n[i]+1;
printf("%d\n",n[1]);
}
这题完全看不懂,2个循环的i还有个j搞不清他们之间的关系,就是一开始i=0,j=0然后n[j]=n[i]+1是不是n[0]=n[0]+1,接下来再该怎么去看循环啊,还有2个循环的I有什么区别伐?麻烦解释一下谢谢

[此贴子已经被作者于2006-10-25 15:59:04编辑过]

2006-10-25 15:58
kircheisgtx
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-15
收藏
得分:0 

第3题printf("*s=90-6s*","china")输出结果是什么(用&这个表示输出的空格符)

书上的那个空格符打不出就用&这个代替下吧

2006-10-25 16:04
kircheisgtx
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-15
收藏
得分:0 
以下是引用neu_cnlj在2006-10-25 16:14:29的发言:
不明白什么意思.
具体说明一下.

填空题啊这道,题目就是这样的。答案是*s=空格china* 我看不懂怎么得出这个结论的

2006-10-25 16:23
kircheisgtx
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-15
收藏
得分:0 
以下是引用neu_cnlj在2006-10-25 16:12:41的发言:

2个循环的执行过程:
n[0]=n[0]+1;n[0]=1,n[1]=0;
n[1]=n[0]+1;n[0]=1,n[1]=2;
n[0]=n[1]+1;n[0]=3,n[1]=2;
n[1]=n[1]+1;n[0]=3,n[1]=3;n[2]=0;
最后输出:3
自己跟着循环走一遍,这很简单啊。

不好意思还是没看懂第一行n[0]=n[0]+1;n[0]=1到这里都知道,请问后面n[1]=0是哪句句子得出来的啊?谢谢

2006-10-25 16:27
kircheisgtx
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-15
收藏
得分:0 
以下是引用neu_cnlj在2006-10-25 16:30:38的发言:

不明白,我试了试,结果是*s=90-6*啊

那这道算了

[此贴子已经被作者于2006-10-25 17:24:25编辑过]

2006-10-25 17:23
kircheisgtx
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-15
收藏
得分:0 
以下是引用xianlin_lea在2006-10-25 17:23:31的发言:

i为0时,n[0]=0,n[1]=0,n[2]=0;
所以 j为0时,n[0]=n[0]+1,n[0]=1,而此时,n[1]依旧为0!
下面依此类推!

这个我在看一下,看不懂的话晚上再来请教您,谢谢

2006-10-25 17:28
kircheisgtx
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-15
收藏
得分:0 
以下是引用zzj在2006-10-25 18:44:19的发言:
我认为1题中的printf(......)应该放在各个if 语句后才能输出你想要的!你再看看课本好好的理解一下!

所以我有时候会搞不懂该什么时候输出,循环是和中括号有关系的吗?

2006-10-25 19:17
kircheisgtx
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-15
收藏
得分:0 

不好意思再问一道
#include<stdio.h>
long fun(int n)
{ long s;
if(n<=2)s=2;
else s=n+fun(n-1);
printf("%d\t",s);
return s;
}
main()
{
fun(5);
printf("\n");
}
这个我只能做出一个9,其他的答案做不出,请教下该怎么做

2006-10-25 20:26
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
快速回复:[求助]请问下中括号的问题
数据加载中...
 
   



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

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