我的尺寸有验证功能,我无法正确编码
void getsize(int* size, int cap){
while(1){
printf("Enter the size(whole number) of array from interval (0, %d]: \n", cap);
if (scanf("%d", size) == 1){
if ((*size > 1) && (*size <= cap)){
printf("Size: %d entered\n", *size);
break;
} else {
printf("Invalid size. Try again.\n");
}
} else {
printf("Invalid size. Try again.\n");
break;
}
}
}
我对用户的期望是输入正整数。任何人都可以解决这个问题或为此提供更好的解决方案吗?谢谢。