c - 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];
}
解决方案
推荐阅读
- sql - 如何从另一个表sql中不存在的表中选择数据
- python - 输入字符串而不是 int 时出现 NameError
- php - 在 mysqli 中获取数据,但显示的数据较少
- javascript - 使用属性名称更新对象属性中的数组
- javascript - 如何通过字符串数组遍历 javascript 对象?
- spring - 从 spring 以字节数组形式加载视频不在移动设备上播放
- batch-file - 如何避免延迟扩展删除文件名中的感叹号?
- tensorflow - 为什么这个简单的模型在张量流中占用大量内存?
- php - 为什么我收到错误“此服务需要 API 密钥”?
- doxygen - doxygen - helloworld - 类图