bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

C語言檢驗用戶的合法性輸入(switch語句)-創新互聯

前情提要

我在寫項目的時候經常遇到要重復程序的項目,若此時輸入字母(本應輸入數字)就會報錯,困擾我很久,因此想了一下解決辦法,希望能幫到大家,也希望有大神指出我的錯誤并在評論區留下您的觀點,很感謝您的閱讀!
由于我主要用switch case語句,所以以下的解決辦法皆與其相關,其他的輸入場景也與其相似!

創新互聯主營南丹網站建設的網絡公司,主營網站建設方案,app軟件開發,南丹h5重慶小程序開發公司搭建,南丹網站營銷推廣歡迎南丹等地區企業咨詢1.case情況不超過9時

不超過9種情況時,可以直接case’數字’,注意使用單引號?。。。?/p>

int main()
{chindex++;
	}
	//index=1時進入,應為只有一位數字,case0-9的情況
	if (index=1)
	{char a = input[0];
		switch (a)
		{case '1':
			printf("成功!\n");
			break;
		case '2':
			printf("再次成功!\n");
			break;
		default:
			printf("輸入錯誤,請重新輸入!\n");
			break;
		}
	}
	//注意有兩種輸入錯誤的情況,均要進行說明
	else
	{printf("輸入錯誤,請重新輸入!\n");
	}

	return 0;
}
2.case情況>=10

思路:使用函數和strcmp來判斷,因為不能直接比較字符串是否相等

//自定義函數部分,注意數字要用雙引號!?。。。。。。?!
int Judge(char input[])
{if (strcmp(input, "1") == 0)
	{return 1;
	}
	else if (strcmp(input,"12")==0)
	{return 12;
	}
	else if (strcmp(input, "11") == 0)
	{return 11;
	}
	else if (strcmp(input, "0") == 0)
	{return 0;
	}
	//這個值是隨機賦的,目的是讓主函數中的大while循環一直進行下去。
	else
	{return 100l;
	}
}
int main()
{int judge = 0;
	do 
	{int index = 0;
		char ch;
		char input[100];
		while ((ch = getchar()) != '\n')
		{	input[index] = ch;
			index++;
		}
		//使用strcmp函數要小心,因為他遇不到\0會一直讀下去,導致讀到沒用的內容
		input[index] = '\0';
		//這個根據自己的情況進行設置
		if (index<= 2)
		{//調用函數
			judge = Judge(input);
			switch (judge)
			{	case 1:
				printf("1\n");
				break;
			case 11:
				printf("11\n");
				break;
			case 12:
				printf("12\n");
				break;
			default:
				printf("輸入錯誤!請重新輸入\n");
				break;
			}
		}
		else
		{	printf("輸入錯誤!請重新輸入\n");
			//賦一個1給judge,確保即使輸錯了也能讓while循環一直進行下去。
			judge = 1;
		}
	} while (judge);
}
總結 檢驗合法性輸入有不同的方法,在不同的場景下還要注意輸入緩沖區中\n的問題,但主要還是依靠while循環來實現,因此還望各位讀者多多思考,謝謝!

你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

新聞名稱:C語言檢驗用戶的合法性輸入(switch語句)-創新互聯
當前URL:http://vcdvsql.cn/article16/phsgg.html

成都網站建設公司_創新互聯,為您提供網站收錄網站改版、用戶體驗網站營銷、品牌網站設計、關鍵詞優化

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站優化排名