首页 > 解决方案 > c 程序在代码块上运行但不在 clion 上运行,这怎么可能?

问题描述

我在代码块上成功运行它,但是当我运行它时,我的 clion 没有显示任何内容。我通常使用 clion,所以我对此非常愤怒。(不想被迫使用代码块)请帮助一个可怜的失落的灵魂。这是代码。

没有太多要说的,但stackoverflow仍然希望我写更多,所以我来了。

#include <stdio.h>
#include <stdlib.h>


int **malloc2dR(int r,int c);
int **MATinit(int r, int c);
void MATstampa(int **m, int r, int c);
void change(int **M, int r, int c);

int main() {
    int r=3,c=4;
    int **M=MATinit(r,c);

    MATstampa(M,r,c);
    change(M,r,c);
    MATstampa(M,r,c);

    return 0;
}

int **malloc2dR(int r, int c){
    int **m;
    int i;

    m=malloc(r*sizeof (int *));
    for(i=0;i<r;i++)
        m[i]=malloc(c*sizeof (int));

    return m;
}

int **MATinit(int r, int c){
    int **M=malloc2dR(r,c);
    int i,j;

    printf("scrivere in input i valori della matrice %dx%d\n",r,c);

    for(i=0;i<r;i++)
        for(j=0;j<c;j++)
            scanf("%d",&M[i][j]);

    return M;
}

void MATstampa(int **m, int r, int c){
    int i,j;

    for(i=0;i<r;i++) {
        for (j = 0; j < c; j++)
            printf("%d ", m[i][j]);
        printf("\n");
    }

    printf("\n");
}


void change(int **M, int r, int c) {
    int i, j;
    int ii, jj;
    int **Mfake=malloc2dR(r,c);

    for(i=0;i<r;i++)
        for(j=0;j<c;j++)
            Mfake[i][j]=M[i][j];

    for (i = 0; i < r; i++)
        for (j = 0; j < c; j++)
            if (M[i][j] % 2 == 1) {

                for (ii = 0; ii < r; ii++)
                    Mfake[ii][j] = 1;
                for (jj = 0; jj < c; jj++)
                    Mfake[i][jj] = 1;

            }

    for(i=0;i<r;i++)
        for(j=0;j<c;j++)
            M[i][j]=Mfake[i][j];

}

标签: ccodeblocksclion

解决方案


推荐阅读