关于循环中的自增自减问题
题目要求是读入2个二维数组,首先输入的是数组的行数和列数,然后输入2个二维数组,遇到一个单独的0则结束,下面是标准答案
- C/C++ code
#include<stdio.h>#include<stdlib.h>int n, m;int a[15][15];int main() { int i, j, b, cnt; while(scanf("%d", &n), n) { scanf("%d", &m); for(i = 0; i < n; ++i) { for(j = 0; j < m; ++j) { scanf("%d", &a[i][j]); } } for(i = 0 ; i < n; ++i) { for(j = 0; j < m; ++j) { scanf("%d", &b); a[i][j] +=b; } } cnt = 0; for(i = 0; i < n; ++i) { for(j = 0; j < m; ++j) { if(a[i][j] != 0 ) break; } if(j == m) ++cnt; } for(i = 0; i < m; ++i) { for(j = 0; j < n; ++j) { if(a[j][i] != 0 ) break; } if(j == n) ++cnt; } printf("%d\n", cnt); } return 0;}我自己写的和这个差不多,但是10组数据有1组通不过,对比发现是 if(j == m) ++cnt;我写成了 if(j == m)cnt++;自增和自减在单独使用的时候不是一样的么,为什么这里会出问题。。。
[解决办法]
不是这里的问题。
[解决办法]
单独的语句,++a 和 a++效果应该是一样的