在C语言中要怎么把输入的密码改为*号

请问
有没有办法在这个程序的基础上
使我输入的密码显示为 * 号

为了避免输入密码的时候被其他人窥屏,一般都会通过*来代替已经输入的密码,提高保密性。追问

这个学期才学的C语言
天天上网课
还只学了点基础(๑˙ー˙๑)

追答

scanf改成getchar,每次读取一个字符,内部记录真实数字,控制台用printf输出*

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-20
不要用scanf
用getch(),如果是C++编译用_getch()。因为getch函数不显示你输入的字符。然后还要加上putchar('*');作用是输出一个*。getch一次只能接受一个一个字符,所以你要写个for或while循环不停接收输入,还用加个if判断,输入回车就跳出循环。回车的ascii是13.
最后,需要增加头文件conio.h。看你也有不错编程水平说到这你应该就能自己写出来了。追问

这个学期才学的C语言
∠( ᐛ 」∠)_
谢谢(*°∀°)=3,明天我上机试试

追答

用C实现麻烦一些,如果是python引入一个模块就行了。不过c的作用是python比不了的。

第2个回答  2020-05-20
while(x < 5 && c != 13) //13是回车符的ASCII码
{
c = getch();
Password[x++] = c;
if(c != 13)
putchar('*');
}追问

谢谢
明天试试
网课上多了不想看电脑了(・ω< )★

相似回答