0
,一端的輸入的scanf當用戶按下例如我要求用戶輸入的兩個輸入輸入
int x,y;
scanf("%d %d",&x,&y);
我需要的情況下,如果用戶只輸入一個輸入,然後按回車鍵(\ n)的 該程序必須說缺少輸入號碼
有什麼建議嗎?
,一端的輸入的scanf當用戶按下例如我要求用戶輸入的兩個輸入輸入
int x,y;
scanf("%d %d",&x,&y);
我需要的情況下,如果用戶只輸入一個輸入,然後按回車鍵(\ n)的 該程序必須說缺少輸入號碼
有什麼建議嗎?
你不能用你現有的代碼來做到這一點,其中一個scanf語句被用來提供兩個值。可以嘗試這樣的事情:
void main(){
int a;char b;
printf("Enter two values\n");
scanf("%d",&a);
top:
scanf("%c",&b);
if(b=='\n'){
printf("Missing value\n");
goto top;
}
printf("I got all values");
}
使用'fgets()'而不是'scanf()'。 – chux
你不能單獨使用'scanf'來做這件事。 (事實證明,有很多事情你不能用'scanf'來做。)你想做什麼 - 這是一個更多的工作,但是在無限更好的靈活性和錯誤捕捉能力方面付出*很大的努力 - 使用'fscanf'等將一行文本*讀爲*一行文本,然後檢查該行或將其分解爲字段或以某種方式解析它。有時候,'sscanf'是解析線條的一種體面的方式。另見http://stackoverflow.com/questions/36921431/c-fscanf-input-validation。 –