| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1276 人关注过本帖
标题:致缘吇弹版主
只看楼主 加入收藏
随心
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:12
帖 子:2577
专家分:250
注 册:2007-8-12
结帖率:100%
收藏
 问题点数:0 回复次数:7 
致缘吇弹版主

缘吇弹版主,你好。今天在你BLOG里发现一个程序有BUG。程序如copy如下:

[开源] 模 拟 密 码 输 入
/* C模拟密码输入 出自我的Blog: 缘吇弹基地*/

//感觉之前的操作比较麻烦,改良一下:
#include "stdio.h"
int password(char *p){
int i=1;
while(i){
p[i]=getch();
if(p[i]==13) /*回车确定*/
break;
else if(p[i]==8){ /*退格清除*/
printf("\b \b");
i--;continue;}
else
printf("*"); /*设置passwordchar*/
i++;}
return 0;
}


/*主函数调用示例*/
int main(void){
int i=1;
char p[10]; /*设置密码存储数组及密码长度*/
password(p); /*调用password*/

/**********密码输出**********/
printf("\nYour password is:");
while(i){
printf("%c",p[i]);
if(p[i]==13) break;
i++;}
/****************************/

getche();
return 0;
}
BUG描述:运行时,如果第一次输入就是退格,你的i将自减为0,continue后while(i)为假,故而return 0返回主函数。由于数组p里没有13这个元素,所以输出会一直执行下去,直到遇到’\0’或遇到一个垃圾数据’\n’或’\0’为止。
虽然这是一个小问题,也许您没有太在意。但我觉得,对待任何程序都应该有一种严谨的态度,因为它是一种科学。
鄙人拙见,多多包涵。如有不对之处还望指出。


随心

2007年10月30日9:58:44

[此贴子已经被作者于2007-11-2 10:04:04编辑过]

收到的鲜花
  • 缘吇弹2008-02-03 15:55 送鲜花  5朵   附言:鼓励
搜索更多相关主题的帖子: BUG 版主 int BLOG 
2007-10-30 10:21
adolf2xxx
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2007-9-20
收藏
得分:0 
2007-10-30 18:26
随心
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:12
帖 子:2577
专家分:250
注 册:2007-8-12
收藏
得分:0 
缘版不知是没看到还是生气了。

天之道,利而不害。圣人之道,为而不争。信言不美,美言不信。善者不辩,辩者不善。知者不博,博者不知。
2007-11-02 10:05
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
收藏
得分:0 
To 随心:
最近几个月比较忙,以致不能及时地回复。
论坛是交流的地方,在法律范围内大家可以畅所欲言,我又怎么会生气呢?
知道不足并不断改进才会进步,有什么意见和建议尽管提就是了,我不胜欢迎!

Repeat  Life=Study;Until (death);
2008-02-03 15:54
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
缘兄好久不见了...最近可好?
2008-02-03 20:46
缘吇弹
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:43
帖 子:3038
专家分:27
注 册:2007-7-2
收藏
得分:0 
[bo]以下是引用 [un]ioriliao[/un] 在 2008-2-3 20:46 的发言:[/bo]

缘兄好久不见了...最近可好?


呵呵,托[bo]ioriliao[/bo]兄的福,过得还可以,只是比以前忙了些。
这么久不见了,老兄在忙啥?

Repeat  Life=Study;Until (death);
2008-02-04 16:06
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
呵呵...
我在面壁思过啊...
2008-02-04 18:29
随心
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:12
帖 子:2577
专家分:250
注 册:2007-8-12
收藏
得分:0 
哇,还给我五个铜板

天之道,利而不害。圣人之道,为而不争。信言不美,美言不信。善者不辩,辩者不善。知者不博,博者不知。
2008-02-10 11:37
快速回复:致缘吇弹版主
数据加载中...
 
   



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

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