简单的模拟取钱时输入密码:
#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)这里面只能比较字符串,不能比较数字等其他形式的参数。
时间: 2024-08-27 04:10:26