gpt4 book ai didi

c - C 中的三角数组

转载 作者:行者123 更新时间:2023-11-30 18:12:59 24 4
gpt4 key购买 nike

有人知道如何用 C 语言创建三角形数组吗?我尝试使用 malloc,首先用于第一个“维度”,然后我使用 for 循环使用 malloc 创建第二个维度,但我的带头老师说这是不正确的。

 int **price_of_diamond, i, j;
price_of_diamond=malloc((count*sizeof(int)));
for(i=0;i<conut;++i){
price_of_diamond[i]=malloc((i-1)*sizeof(int));
}

任务的提示是“创建三角形数组(获得更短的数组)”。程序理论上是有效的,但老师说这是错误的实现,但没有说哪里不好

最佳答案

第一次分配应该使用 (int*) 而不是 (int)。
你不应该在循环中使用大小 <= 0 的 malloc (当 i=0 和 i=1 时)。使用 (i+1),您的数组将从 1 变化到计数大小。

price_of_diamond = malloc(count * sizeof(int*));
for(i=0;i<count;++i) price_of_diamond[i]=malloc((i+1)*sizeof(int));

关于c - C 中的三角数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28220955/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com