C 中的字符串比较密码
String compare in C for a password
void main()
{
Password();
}
int Password()
{
// Declare local variables//
char cPassCode[] = "String";
int iFlag, iComparison = 0;
// Run the code to check the password//
while (iFlag = 0)
{
printf("Please enter the password: ");
scanf("%s", cPassCode);
iComparison = strcmp(cPassCode, "A23bc5");
if (iComparison = 0)
{
ArrayPrinter(Array);
iFlag = 1;
}
else
{
printf("Wrong password");
iFlag = 0;
}
return(iFlag);
}
}
我编辑了代码部分,据我所知,输入密码 A23bc5 时应该 运行 正确。但是它总是返回错误的密码。有什么想法吗?
strcmp
函数 returns 如果字符串相等则返回 0。您应该编辑条件块。
编辑:
其实你也有非常基本的语法问题。
int Password()
{
//declare local variables//
char cPassCode[] = "String";
int iFlag=0, iComparison = 0;
//Run the code to check the password//
while (iFlag == 0)
{
printf("Please enter the password: ");
scanf("%s", cPassCode);
iComparison = strcmp(cPassCode,"A23bc5");
if (iComparison == 0)
{
printf("\n Accepted");
iFlag = 1;
}
else
{
printf("Wrong password");
iFlag = 0;
}
return(iFlag);
}
}
int main()
{
Password();
return 0;
}
这会起作用
if (iComparison = 0)
正在将 0 赋给变量然后对其进行测试,0 的计算结果为 false。
if (iComparison == 0)
正在检查变量是否为 0,这可能是你的意思
//C 中的字符串比较密码直到 5 次//
#include<stdio.h>
#include<string.h>
int main(){
int i,value;
char pass[10],id[10],key[]="1234";
printf("enter your id: ");
scanf("%s", id);
for(i=5;i>=0;i--){
printf("\nenter your password: ");
scanf("%s",pass);
value=strcmp(pass,key);
if(value==0){
printf("matched");
return 0 ;
}
else{
printf("not matched you have %d try left", i);
}
}
return 0;
}
void main()
{
Password();
}
int Password()
{
// Declare local variables//
char cPassCode[] = "String";
int iFlag, iComparison = 0;
// Run the code to check the password//
while (iFlag = 0)
{
printf("Please enter the password: ");
scanf("%s", cPassCode);
iComparison = strcmp(cPassCode, "A23bc5");
if (iComparison = 0)
{
ArrayPrinter(Array);
iFlag = 1;
}
else
{
printf("Wrong password");
iFlag = 0;
}
return(iFlag);
}
}
我编辑了代码部分,据我所知,输入密码 A23bc5 时应该 运行 正确。但是它总是返回错误的密码。有什么想法吗?
strcmp
函数 returns 如果字符串相等则返回 0。您应该编辑条件块。
编辑:
其实你也有非常基本的语法问题。
int Password()
{
//declare local variables//
char cPassCode[] = "String";
int iFlag=0, iComparison = 0;
//Run the code to check the password//
while (iFlag == 0)
{
printf("Please enter the password: ");
scanf("%s", cPassCode);
iComparison = strcmp(cPassCode,"A23bc5");
if (iComparison == 0)
{
printf("\n Accepted");
iFlag = 1;
}
else
{
printf("Wrong password");
iFlag = 0;
}
return(iFlag);
}
}
int main()
{
Password();
return 0;
}
这会起作用
if (iComparison = 0)
正在将 0 赋给变量然后对其进行测试,0 的计算结果为 false。
if (iComparison == 0)
正在检查变量是否为 0,这可能是你的意思
//C 中的字符串比较密码直到 5 次//
#include<stdio.h>
#include<string.h>
int main(){
int i,value;
char pass[10],id[10],key[]="1234";
printf("enter your id: ");
scanf("%s", id);
for(i=5;i>=0;i--){
printf("\nenter your password: ");
scanf("%s",pass);
value=strcmp(pass,key);
if(value==0){
printf("matched");
return 0 ;
}
else{
printf("not matched you have %d try left", i);
}
}
return 0;
}