简单的模拟取钱时输入密码:windows
#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),致使第一次输错密码后程序崩溃;ide
函数简介(来自百度)
原型: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)这里面只能比较字符串,不能比较数字等其余形式的参数。spa