我的任務使用scanf函數是創建數組,爲了做到這一點,我需要投入的大小,但我必須確保輸入是不是負數,字母或符號。我創建了這個功能,但我的if不能正常工作。如果我輸入負數或字符,它仍然使用它。整數
下面是我使用的功能:
void getsize(int* size){
printf("Enter the size of array\n");
if ((scanf("%d", size) == 1) && (getchar() == '\n') && (size > 0)){
printf("Size: %d entered\n", *size);
} else {
printf("wrong input\n");
while(getchar() != '\n');
}
}
getsize(&size);
'「%d」'不會反正得到非數字字符... – ThoAppelsin