You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++如何打印矩阵中所有非零偶数?代码运行结果错误怎么解决?

错误原因
  • 核心错误:return 0 放置位置错误。你将返回语句写在了外层遍历矩阵行的for循环内部,程序执行完第一行的元素遍历后就会直接退出,不会处理第二行及之后的所有行,这是输出结果缺失的主要原因。
  • 输出格式问题:符合条件的偶数输出时没有加分隔符,所有符合要求的数字会连在一起,无法区分独立数值。
  • 笔误问题:原代码输出提示里的even vectors表述错误,你要打印的是偶数,对应英文表述为even numbers,vector指代向量,不符合需求场景。
  • 潜在越界风险:C/C++ 数组默认下标从0开始,原代码用下标1~N/M访问100长度的数组,当输入的N/M等于100时会出现数组越界,触发未定义行为。
修正后代码
#include<iostream>
using namespace std;
int main ()
{
    int i,j,N,M;
    int a[100][100];
    cout << "输入矩阵行数 = ";
    cin >> N;
    cout << "输入矩阵列数 = ";
    cin >> M;

    // 调整为下标从0开始的规范写法,避免越界
    for (i = 0; i < N; i++) {
        for(j = 0; j < M; j++) { 
            cin >> a[i][j]; 
        }
    }
    cout << "矩阵中不等于0的偶数如下:" << endl;
    for (i = 0; i < N; i++) {
        for(j = 0; j < M; j++) {
            if (a[i][j] != 0 && a[i][j] % 2 == 0) {
                // 输出后加空格分隔不同数值
                cout << a[i][j] << " ";
            }   
        }
    }
    // return 0移到所有逻辑执行结束的位置
    return 0;
}

内容的提问来源于stack exchange,提问作者user16554781

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 11:36:08