C语言动态内存管理
小甲鱼老师的带你学C带你飞第1季第38讲课后作业最后一题https://fishc.com.cn/forum.php?mod=viewthread&tid=80430&extra=page%3D2%26filter%3Dtypeid%26typeid%3D570在windwos 10下用codeblocks测试结果如下图:
会输出一个奇怪的数字,请问是什么原因? 你没有初始化矩阵中的元素,为什么这些元素的值必须是0 ?
这是我这边的输出
$ gcc-debug -o main main.c
main.c: In function ‘read_matrix’:
main.c:175:13: warning: unused variable ‘num’ [-Wunused-variable]
175 | int num, x, y;
| ^~~
$ ./main
============================
* 欢迎使用该程序,指令如下 *
* 1.生成一个 M*N 的矩阵 *
* 2.初始化矩阵 *
* 3.给矩阵中某个元素赋值 *
* 4.读取矩阵中某个元素 *
* 5.打印整个矩阵 *
* 6.结束程序 *
============================
请输入指令:1
请输入新矩阵的规模(M*N)-> 5*8
5*8 的矩阵创建成功!
请输入指令:5
-1094795586-1094795586-1094795586-1094795586-1094795586-1094795586-1094795586-1094795586
-1094795586-1094795586-1094795586-1094795586-1094795586-1094795586-1094795586-1094795586
-1094795586-1094795586-1094795586-1094795586-1094795586-1094795586-1094795586-1094795586
-1094795586-1094795586-1094795586-1094795586-1094795586-1094795586-1094795586-1094795586
-1094795586-1094795586-1094795586-1094795586-1094795586-1094795586-1094795586-1094795586
请输入指令:6
感谢使用本程序^_^
$ gcc -g -Wall -o main main.c
main.c: In function ‘read_matrix’:
main.c:175:13: warning: unused variable ‘num’ [-Wunused-variable]
175 | int num, x, y;
| ^~~
$ ./main
============================
* 欢迎使用该程序,指令如下 *
* 1.生成一个 M*N 的矩阵 *
* 2.初始化矩阵 *
* 3.给矩阵中某个元素赋值 *
* 4.读取矩阵中某个元素 *
* 5.打印整个矩阵 *
* 6.结束程序 *
============================
请输入指令:1
请输入新矩阵的规模(M*N)-> 5*8
5*8 的矩阵创建成功!
请输入指令:5
00000000
00000000
00000000
00000000
00000000
请输入指令:6
感谢使用本程序^_^
$
$ cat main.c
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int *ptr = realloc(NULL, sizeof(*ptr) * 1);
printf("%d\n", ptr);
free(ptr);
return 0;
}
$ gcc -g -Wall -o main main.c
$ ./main
0
$ gcc-debug -o main main.c
$ ./main
-1094795586
$ 人造人 发表于 2022-1-11 12:24
你没有初始化矩阵中的元素,为什么这些元素的值必须是0 ?
这是我这边的输出
请问怎么修改,我是在windwos 10,用的是codeblocks. cben 发表于 2022-1-11 13:13
请问怎么修改,我是在windwos 10,用的是codeblocks.
你初始化一下不就行了
先选1,然后再选2
人造人 发表于 2022-1-11 13:31
你初始化一下不就行了
先选1,然后再选2
谢谢!我还有一个疑问,在这里:https://fishc.com.cn/forum.php?mod=viewthread&tid=207929&page=1#pid5701046
别人的回答不是很明白,转义规则是什么?麻烦你看一下
页:
[1]