我想限制以下patient_id
變量可能具有的可能值(出於安全原因)。以下是我目前擁有的代碼,但我敢肯定,這是錯誤的做法:在C中,如何限制此scanf將採用的接受值?
void addPatient(){
int patient_id;
printf("Enter ID between 10000 & 99999: ");
do{
scanf("%d", &patient_id);
}while((patient_id<10000)&&(patient_id>99999));
}
'patient_id <99999'應讀爲'patient_id> 99999'?除此之外,你的解決方案看起來很好,沒有辦法限制使用scanf的整數的輸入範圍。在請求整數時,甚至不能阻止輸入字符串。 – 2012-02-27 09:38:36
哎呀,是的!謝謝! – Coffee 2012-02-27 09:39:20
您的意思是:while((patient_id> 10000)&&(patient_id <99999));'?否則,第一個條件是多餘的,如「10000 <99999」。 – hmjd 2012-02-27 09:39:59