【发布时间】:2014-11-10 21:42:32
【问题描述】:
#include<stdio.h>
#define M 6
#define N 5
int main(){
int array[N][M];
int i, j;
for(i=0;i<N;i++){
for(j=0;j<M;j++){
scanf("%d", &array[i][j]);
if(array[0][1]<1 || array[0][2]<1 || array[0][3]<1){
// ??
}
}
}
return 0;
}
如果输入与我的(很可能是错误的)if 语句不匹配,我该如何做到这一点,
用户必须重新输入该数组字段,它不只是跳到下一个输入字段?
【问题讨论】:
-
将
scanf放入while循环中,如果输入被验证,则while循环的条件设置为false。 -
首先,您应该初始化您的数组,以便您的条件通过(memset 为 1 或其他值),否则您可能永远不会取得进展。然后你可以做类似
printf("Invalid. Reenter.\n"); j--; continue;的事情。