C语言如何让输入的字符数据全部显示为星号?

自己试着写了一个,结果密码还是明码。。。求大神指点

是不是因为用了中文字符?我只有英文法文环境,无法试验。
这里给你一个我曾用过的输入英文字符的程序,允许的字符长度个数你可以修改加大。
#include <stdio.h>
#include <stdlib.h>
int main()
{
char u[40];
char p[80];
char u_name[40];
char password[80]="Leaf888";
int i=0;
printf("type user name:\n");
scanf("%s",u_name);
printf("type your password:\n");
while ( i < 80 ){
p[i] = getch();
if (p[i] == '\r') break;
if (p[i] == '\b') { i=i-1; printf("\b \b"); } else {i=i+1;printf("*");};
}
p[i]='\0';
if ( strcmp(password,p)==0) printf("\nThe passwd is right!\n");
else printf("\n You typed wrong password:%s",p);
return 0;
}
温馨提示:内容为网友见解,仅供参考
无其他回答

C语言中如何能把用户输入的密码变成星号代
include <stdio.h>#include <conio.h>int main(){char s[20],c; int n=0; for(n=0;;n++) {s[n]=getch(); printf("*"); if(s[n]=='\\r')break; } s[n]='\\0'; printf("\\n密码是:%s\\n",s); return 0;} ...

C语言输入数字,显示星号*
int i,j,n;scanf("%d",&n);for(i=0;i<n;i++){for(j=0;j<2*i+1;j++)printf("*");printf("\\n");} 不知道问题的显示是否去掉了多余的空格,下面附上另一种形式的(带空格)int i,j,k,n;scanf("%d",&n);for(i=0;i<n;i++){for(k=i;k<n\/2;k++)printf(" ");f...

C语言如何实现输入密码以星号显示
C语言中可采用getch()函数来实现输入密码字符时,不显示字符到终端上,这时,只需要显示出一个相应的*就可以达到效果了。参考代码及运行效果如下图:

在c语言中,输入“12345678”后如何把“3456”用“*”输出?
memset(p, '*', 4); \/\/ 使用memset()函数将子串替换成4个星号 } printf("替换后的字符串为:%s\\n", str);return 0;} ```运行程序并输入“12345678”,输出结果为“12***78”。其中,使用了字符串处理函数`strstr()`查找子串“3456”,并使用`memset()`函数将子串替换成4个星号。

用C语言实现输入密码,回显星号,跪求!请高手指教,谢谢
h"int main(){ char tmpc;int i = 0;tmpc = ' ';printf("input password:\\n");for(i = 0; i < 6; i++){ tmpc = getch();printf("*");} printf("\\n");return 0;} 这个东西可以实现你要的,可是没做对密码的判断,如果你要的不是这个,如果有时间,我可以再帮你看看 ...

C语言怎么使用密码输入,也就是输入回显星号。
可使用退格键删除以输入字符。回车键为密码输入完毕 可定义最大字符数。当输入字符数等于最大字符个数时,视为密码结束。include <stdio.h> include <conio.h> define TRUE 1 define FALSE 0 define MIN_INPUT 0x20 define MAX_INPUT 0x7e \/ 所有功能有此函数实现:pszPw : 保存密码的缓冲 iMax...

如何用C语言输出星号
C语言输出如题所示图案的代码如下:include<stdio.h> int main( ){ int x;int i,j,k;printf("请输入,需要生成图案的行数(单数):");scanf("%d",&x);k=x\/2+1;for(i=1;i<=k;i++){ for(j=0;j<2*i-1;j++)printf("*");printf("\\n");} for(i=k-1;i>=1;i--){ ...

c语言如何实现输入数字密码,然后显示星号,最后能与确定的密码进行比较...
char pass[30]; int i = 0; while (i < 29 && (pass[i] = getch()) && pass[i] != '\\r') { printf("*"); i++;2 } pass[i] = 0; if (strcmp(pass, "1234") == 0) { printf("All right\\n"); } else { printf("Wrong\\n");...

c语言中如何把字母转化为星号?
假如字符串a[7]="ababab",如下所示:include "stdio.h"include "string.h"void main(){ char a[7]="ababab";int i;printf("转化前:%s\\r\\n",a);for(i=0;i<strlen(a);i++){ if(a[i]=='a')a[i]='*';} printf("转化后:%s\\r\\n",a);} 主要就是一个循环,寻找需要转化...

c语言如何输出一行30个星号
这样一段程序就可以输出30个星号并换行:{ int i; for ( i=0;i<30;i++ ) printf("*"); printf("\\n"); }

相似回答