網站首頁 編程語言 正文
引言
登錄賬號時我們要輸入密碼,密碼輸入錯誤時會提示密碼錯誤。有時密碼的輸入次數會被限制,例如銀行卡,當我們3次密碼都輸入錯誤時卡會被凍結。下面用C語言模擬實現密碼輸入。
思路分析
首先要確立一個正確密碼,再確定密碼輸入限制次數,接著用一個scanf語句讀取用戶輸入的密碼。將用戶輸入的密碼和先前確定的密碼進行比較,如果密碼輸入正確就顯示密碼正確,如果密碼輸入錯誤就提示密碼錯誤,并告訴用戶還有幾次輸入機會。
代碼實現
#include#include int main() { int i = 0; char password[20] = { 0 }; for (i = 0; i < 3; i++) { printf("請輸入密碼:"); scanf("%s", password); if (strcmp(password, "123456") == 0) { printf("密碼正確\n"); break; } else { if (i < 2) { printf("密碼錯誤,還有%d嘗試機會:\n", 2 - i); } } } if (i == 3) { printf("三次密碼均錯誤,退出程序\n"); } return 0; }
代碼分析
char password[20] = { 0 };
創建一個字符數組來儲存輸入的密碼
for (i = 0; i < 3; i++)
假設密碼可以輸入三次
if (strcmp(password, "123456") == 0)
假設正確密碼為123456
這里用了strcmp函數,需要引頭文件#include
strcmp(a,b)的作用是比較a,b兩個字符串若相同strcmp(a,b)=0。
if (i < 2) { printf("密碼錯誤,還有%d嘗試機會:\n", 2 - i); }
這條語句是排除打印還有0次嘗試機會,如下圖
運行演示
原文鏈接:https://blog.csdn.net/qq_56663697/article/details/116325483
相關推薦
- 2022-12-10 C語言中的結構體快排算法_C 語言
- 2022-08-28 linux應用參數保存與配置
- 2023-02-03 TypeScript?中?as?const使用介紹_其它
- 2023-09-18 Echarts常見問題總結(持續更新)
- 2024-07-18 spring @retryable不生效的一種場景
- 2022-05-29 C/C++迭代器的失效問題詳解_C 語言
- 2022-07-29 pytest解讀fixture有效性及跨文件共享fixtures_python
- 2022-08-04 python中可以發生異常自動重試庫retrying_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支