简单的模拟取钱时输入密码:
#include<stdio.h>
#include<windows.h>
#include<string.h>
int main ()
{
int i=0;
int n=2;
char passwd[10];
char *p="123456";
for (i=0;i<3;i++)
{
printf("请输入密码:\n");
scanf("%s",passwd);
if (strcmp(p,passwd)==0)
{
break;
}
else
{
printf("密码错误,请重新输入!您还有%d次机会\n",n);
n--;
}
}
if (i<3)
{
printf("密码正确!\n");
}
else if (i==3)
{
printf ("三次输入错误,系统将在5秒钟之后关闭!\n");
Sleep(5000);
exit(0);
}
return 0;
}
这里要注意strcmp函数的使用,我在第一次写的时候写成了strcmp(*p,passwd),导致第一次输错密码后程序崩溃;
函数简介(来自百度)
原型:extern int strcmp(const char *s1,const char * s2);
所在头文件:string.h
功能:比较字符串s1和s2。
一般形式:strcmp(字符串1,字符串2)
说明:
当s1<s2时,返回为负数 注意不是-1
当s1==s2时,返回值= 0
当s1>s2时,返回正数 注意不是1
特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数。
本文出自 “Original_By_Inn” 博客,转载请与作者联系!