读书人

关于循环中的自增自减有关问题

发布时间: 2012-04-19 14:36:43 作者: rapoo

关于循环中的自增自减问题
题目要求是读入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++效果应该是一样的

读书人网 >C语言

热点推荐