我输入数字对的代码,以奇怪的顺序输入数字,无法弄清楚什么是错的。我添加了aditional for循环来查看输入值.n是用户应该输入的对数。
int main(){ int i,j,n,pairs[100][1];
printf("Select the number of pairs you want to enter(no more than 100):");
scanf("%d",&n);
printf("Enter the pairs:");
for(i=0; i<n; i++ ) {
for( j=0; j<2; j++ ) {
scanf("%d", &pairs[i][j]);
}
}
for ( i = 0; i < n; i++ ) {
for ( j = 0; j < 2; j++ ) {
printf("a[%d][%d] = %d\n", i,j, pairs[i][j] );
}
}
return 0;
}
让我说我选择2对的数量,然后我输入4space6enter 7space9enter,我的数组应该是这样的:
pairs[0][0]=4
pairs[0][1]=6
pairs[1][0]=7
pairs[1][1]=9
但现在我明白了:
pairs[0][0]=4
pairs[0][1]=7
pairs[1][0]=7
pairs[1][1]=9
答案 0 :(得分:0)
int pairs[100][1];
“对”通常需要两个元素。尝试
int pairs[100][2];
答案 1 :(得分:-1)
如果您不想让2D数组出现问题,请使用中间变量:
int a;
for( i=0; i<n; i++ ) {
for( j=0; j<2; j++ ) {
scanf("%d", &a);
a=poros[i][j];
}
}