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 c);

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

    MATstampa(M,r,c);
    change(M,c);
    MATstampa(M,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",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 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 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];

}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)