C語言實(shí)現(xiàn)簡單登錄操作
本文實(shí)例為大家分享了C語言實(shí)現(xiàn)簡單登錄的具體代碼,供大家參考,具體內(nèi)容如下
編寫代碼實(shí)現(xiàn),模擬用戶登錄情景,并且只能登錄三次。
要實(shí)現(xiàn)這種操作,我們需要設(shè)置一個字符串a(chǎn)rr1用來存放密碼,同時還要手動輸入一個字符串password來記錄我們輸入的字符串,并將password與arr1字符串比較判斷是否相同。同時for循環(huán)三次即可,如果輸入正確則跳出循環(huán)。
值得注意的是: 在比較password與arr1是否相等時,不能夠用==比較,比如下面的程序:
#include <stdio.h> int main() { ?? ?char password[10] = ""; ?? ?char arr1[] = "123456"; ?? ?int i = 0; ?? ?int j = 0; ?? ?for (i = 0; i < 3; ++i) ?? ?{ ?? ??? ?printf("請輸入密碼:"); ?? ??? ?scanf("%s", password); ?? ??? ?if (password==arr1)//使用等號比較字符串 錯誤 ?? ??? ?{ ?? ??? ??? ?break; ?? ??? ?} ?? ??? ?else ?? ??? ?{ ?? ??? ??? ?printf("密碼錯誤,請重新輸入\n"); ?? ??? ?} ?? ?} ?? ?if (i == 3) ?? ??? ?printf("輸入次數(shù)用完\n"); ?? ?else ?? ??? ?printf("登陸成功\n"); }
使用==比較字符串相等是不行的,因?yàn)樽址畃assword的本質(zhì)是一個字符數(shù)組,password只是數(shù)組名,而在數(shù)組那一章我們知道數(shù)組名代表的是數(shù)組首元素地址(sizeof和直接&除外),所以password==arr1比較的實(shí)際上是這兩個字符數(shù)組首元素的地址,很明顯這倆地址是不相同的,因此不能用 == 比較字符串是否相等。
在C語言<string.h>頭文件中有個strcmp的庫函數(shù):
因此我們可以使用這個庫函數(shù)來比較他倆是否相等,如果相等則返回0,否則則返回非0.
修改后的代碼:
#include <stdio.h> #include<string.h> int main() { ?? ?char password[10] = ""; ?? ?char arr1[] = "123456"; ?? ?int i = 0; ?? ?int j = 0; ?? ?for (i = 0; i < 3; ++i) ?? ?{ ?? ??? ?printf("請輸入密碼:"); ?? ??? ?scanf("%s", password); ?? ??? ?if (strcmp(password, arr1) == 0) ?? ??? ?{ ?? ??? ??? ?break; ?? ??? ?} ?? ??? ?else ?? ??? ?{ ?? ??? ??? ?printf("密碼錯誤,請重新輸入\n"); ?? ??? ?} ?? ?} ?? ?if (i == 3) ?? ??? ?printf("輸入次數(shù)用完\n"); ?? ?else ?? ??? ?printf("登陸成功\n"); }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C語言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
這篇文章主要介紹了C語言中計(jì)算正弦的相關(guān)函數(shù)總結(jié),包括正弦和雙曲線正弦以及反正弦的函數(shù),需要的朋友可以參考下2015-08-08C++執(zhí)行shell命令的多種實(shí)現(xiàn)方法
在linux系統(tǒng)下,用C++程序執(zhí)行shell命令有多種方式,主要介紹了3中方法,具有一定的參考價值,感興趣的可以了解一下2021-11-11詳細(xì)分析C++ 數(shù)據(jù)封裝和數(shù)據(jù)抽象
這篇文章主要介紹了C++ 數(shù)據(jù)封裝和數(shù)據(jù)抽象的的相關(guān)資料,文中代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06C++實(shí)現(xiàn)DES加密算法實(shí)例解析
這篇文章主要介紹了C++實(shí)現(xiàn)DES加密算法實(shí)例解析,是一個很實(shí)用的功能,需要的朋友可以參考下2014-08-08