| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1037 人关注过本帖
标题:求助:有个程序看不明白
只看楼主 加入收藏
bestee
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-1-19
收藏
得分:0 
我之前看错了,呵呵!
10楼正解,k应当代表当前读入的字母的长度或大于,因为是从后向前读,所以k随着pp[l][i]的i--要不断++
但是还有一点问题,比如当k=1的时候,第一次for循环pp[2]=pp[1],这里pp[1]并没有初始化,不知道这样写是不是严格。读第一个单词时每一次 for循环都会出些这样的情况。有知道的请讲讲。

i=strlen-1因为数组下标从0开始,所以最后一个数组下标是整长-1。

欢迎光临我的blog! http://blog./bestee
2006-02-03 12:52
Xxibug
Rank: 1
等 级:新手上路
威 望:1
帖 子:95
专家分:0
注 册:2006-1-31
收藏
得分:0 

回楼上,明白了,之前想法有问题,多谢哈哈

初始赋值时pp[0]为0,其余自动填0,我说的多余就在你提到的pp[2]=pp[1]这里,每次循环都多出一些这样的赋值,感觉很不对劲。不会我想法又出问题了吧,明白的说下,晚上再来看看。


=======【天上有人 地上有狼】=======
2006-02-03 15:22
bestee
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-1-19
收藏
得分:0 

我在vc里试了一下,a[100]={0};确实是全部赋值为0,赫赫!
每个循环是要多出一些赋值,我也不清楚是什么原因,我想是不是出题的人思路有问题......
因为k是代表已经读入的单词的长度,那么单词的长度第一次一个字母就是1啦,所以k=1,我是猜的
改成这样会好些:
k=0;
while(1)
......
pp[0]=xx[l][i];
for(j=k;j>=0;j--)
pp[j+1]=pp[j];
k++;i--;
第一次k=0,读入一个数之后k才是1,也许是出题的人思路错了


欢迎光临我的blog! http://blog./bestee
2006-02-03 16:17
快速回复:求助:有个程序看不明白
数据加载中...
 
   



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

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