为了账号安全,请及时绑定邮箱和手机立即绑定

Ubuntu Linux系统下C语言编程,printf调用触发断言?

Ubuntu Linux系统下C语言编程,printf调用触发断言?

leizisdu 2017-11-11 22:39:41
各路大牛晚上好!小弟初次在Linux系统下尝试进行C语音编程,不太顺利!调用一个printf函数,就触发了断言!已经3个晚上了,分别在ChinaUnix和CSDN求助,都没能解决!请大牛帮忙走查一下代码,帮忙看下为什么会触发断言呢?又应当如何修改呢?先谢谢了!代码如下:#include <stdio.h>#include <stdlib.h>#include <string.h>#include "init_array.h"int variable_length_array(int **parray, int length){    if (*parray != NULL)    {        fprintf(stderr, "The array not initiated!\n");        return FAIL;    }    if (length <=0)    {        fprintf(stderr, "The length error!\n");        return FAIL;    }    *parray = (int *)malloc(length);    memset(*parray, 0x00, sizeof(int) * length);    return SUCC;}int main(int argv, char *argc[]){    int *array = NULL;    int length = 0;    scanf("%d", &length);    if (variable_length_array(&array, length) == SUCC)    {        for (int i = 0; i < length; i++)        {            printf("The index: %d, the content: %d, the address: %p.\n", i, array[i], array + i); // 断言所在行!        }    }    else    {        fprintf(stderr, "Initiate array fail!\n");        return 1;    }    return 0;}断言信息如下:init_array.out: malloc.c:2427: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.Aborted
查看完整描述

1 回答

?
冯宝宝

TA贡献31条经验 获得超8个赞

不懂,既然csdn都没有人能帮你,你去编程社区看看,一般情况下csdn都是可以解决的啊

查看完整回答
反对 回复 2017-11-12
  • leizisdu
    leizisdu
    我在CSDN提问,没人回答……
  • 冯宝宝
    冯宝宝
    如果中国的没有人理你,你还可以试试国外的,好像叫stack overflow,,,,,,,你把代码贴上,然后把那个什么信息贴上就可以了,,,,
  • leizisdu
    leizisdu
    好的,3Q~~
点击展开后面1
  • 1 回答
  • 0 关注
  • 1680 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信