初学者问题:c语言如何用星号代替密码

举个例子,main()printf("输入账号:");scanf("%d",a);printf("密码");scanf("%d"b);但是这样屏幕上就显示出密码来了我想实... 举个例子,
main()
printf("输入账号:");
scanf("%d",a);
printf("密码");
scanf("%d"b);
但是这样 屏幕上就显示出密码来了 我想实现输入密码时屏幕上显示的是星号 ,可以办得到吗?
展开
 我来答
百度网友dd16854
2007-06-07 · TA获得超过446个赞
知道小有建树答主
回答量:316
采纳率:0%
帮助的人:453万
展开全部
你可以用ch=getch()
main()
{
int a;
char ch;
printf("输入账号:");
scanf("%d",a);
printf("密码");
ch=getch();
printf("*");
}
如果密码不止一位你可以用数组存起来
while(ch!=13)
{
ch=getch();
printf("*");
code[i]=ch;
i=i+1;
}
我试过的,当然可以用~
给你看我原程序
char name[10],password[10],ch; //用户输入登录信息
int i=0;
printf("Login...\n"); //提示用户登录
printf("name:");
scanf("%s",name); //用户输入用户名
getchar(); //吸收回车符
printf("password:");
ch=getch(); //逐个获取用户输入的密码
while(ch!=13) //用户密码输入未结束
{
printf("*");
password[i]=ch; //赋值
i=i+1; //下一个字符
if(ch==8) //退格
i=i-1;
ch=getch();
}
password[i]='\0'; //字符串末尾加结束符

部分而已,要加头文件#include <conio.h>
xoaxa
2015-05-22 · TA获得超过8608个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3419万
展开全部
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>

int chcode() {
char pw[50],ch;
char *syspw = "abc"; // 原始密码
int i,m = 0; 
printf("请输入密码:"); 
while(m < 3) {
i = 0;
while((ch = _getch()) != '\r') {
if(ch == '\b' && i > 0) {
printf("\b \b");
--i;
}
else if(ch != '\b') {
pw[i++] = ch;
printf("*");
}
}
pw[i] = '\0';
printf("\n");
if(strcmp(pw,syspw) != 0) {
printf("密码错误,请重新输入!\n");
m++;
}
else {
printf("密码正确!\n");
system("pause");
return 1;
}
}
printf("连续3次输入错误,退出!\n");
system("pause");
return 0;
}

int main() {
int login = chcode();
if(login) printf("登录成功!\n");
else printf("登录失败!\n");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
see_blue_sea
2007-06-07 · 超过11用户采纳过TA的回答
知道答主
回答量:81
采纳率:100%
帮助的人:0
展开全部
楼上的,你自己试过没有啊
那样也是不行的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式