| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 987 人关注过本帖
标题:请大家帮我分析一下``谢谢先```
取消只看楼主 加入收藏
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
结帖率:66.67%
收藏
 问题点数:0 回复次数:4 
请大家帮我分析一下``谢谢先```
我想实现的 就是  一般的 输入密码````

我碰到了一个问题```当我输入几个密码``如123``然后屏幕就显示***``
但是 ```当我退一格```因为密码有时候回按错``所以要退格啊```结果是```
*号没有消失```而是光标向后走了一格```这是怎么回事呢``不明白啊```
麻烦大家帮我分析分析``指点指点```

而当我按方向键的时候``回一下出现2个*``...............

更郁闷的是``` 我按回车的时候```循环竟然不段开```应该是出现死循环了````
但是为什么按回车都没反映呢???````很郁闷啊````


下面是我的代码:

#include <stdio.h>
#include <conio.h>

int main(void)
{
    char c, s[50] = {'0'};  
    int i = 0 ;
   
    while ( ( c=getch() ) != '\n' && c != EOF && i<50 )
    {
          if ( c == '\b' )
          {
            putchar(c) ;
               
            if ( !i )
               continue ;
            else
               --i ;
          }
          else
          {        
            putchar('*') ;
            s[i++] = c ;
          }
    }
   
    s[i] = '\0' ; i = 0 ;      
   
    return 0 ;
}

[[italic] 本帖最后由 死了都要C 于 2007-12-14 07:24 编辑 [/italic]]
搜索更多相关主题的帖子: include 输入密码 
2007-12-14 06:29
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
我又单独试了下' \N'  结果````````

#include <stdio.h>
#include <conio.h>

int main(void)
{
    char c ;
   
    if (  ( c=getch() ) == '\n' )
       printf("OK\n");
    else
       printf("NO\n");
      
    getchar();
   
    return 0 ;
}


直接按回车```输出NO````但是我把getch()换成getchae()结果又是OK`````
我郁闷了`````谁帮帮我啊````````````

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-12-14 07:04
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
getchar()有缓冲`````是什么意思````

还有\N和\R好像都是换行的意思`那他们有什么区别吗```

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-12-14 07:26
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
我们通常按的回合不就是要把光标移到下一行吗?

那应该就是\N啊````

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-12-14 13:17
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
谢谢LS的解答````你让我明白了许多````

关于第2点``我刚刚调试了10个程序```结果观察到的现象和你一样```
我唯一处理的和你不一样的是```退格后```我用的 ' \0 ' 来代替当前字符``
而不是用空格```

关于第1点```我有个小小的疑问``getch()``getchar()``都是读取单个字符吧
```那为什么 getchar()`` 读取的只是`` '  \n '
而getch()却只能读前一个字符呢?

[[italic] 本帖最后由 死了都要C 于 2007-12-14 15:02 编辑 [/italic]]

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-12-14 14:57
快速回复:请大家帮我分析一下``谢谢先```
数据加载中...
 
   



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

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