| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 595 人关注过本帖
标题:抄了个动态内存分配的例子,但不能运行。。。。。
只看楼主 加入收藏
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
结帖率:100%
收藏
 问题点数:0 回复次数:6 
抄了个动态内存分配的例子,但不能运行。。。。。
程序代码:
#include < stdio.h >
#include < stdlib.h >
int
compare_integers ( void const *a, void const *b )
{
    register int const *pa = a;
    register int const *pb = b;
    return *pa > *pb ? 1 : *pa < *pb ? -1 : 0;

}
int
main ( )
{
    int *array;
    int n_values;
    int i;
    printf ( "How many values are there?" );
    if ( scanf ( "%d", &n_values ) != 1 || n_values <= 0 )
    {
        printf  ( "Illegal number of values.\n" );
        exit ( EXIT_FAILURE );
    }
    array = malloc ( n_values * sizeof ( int ) );
    if ( array == NULL )
    {
        printf ( "Can't get memory for that many values.\n" );
        exit ( EXIT_FAILURE );
    }
    for ( i = 0; i < n_values; i += 1 )
    {
        printf ( "?" );
        if ( scanf ( "%d",array + i ) != 1 )
        {
            printf ( "Error reading value #%d\n", i );
            free  ( array );
            exit ( EXIT_FAILURE );
        }
    }

 qsort ( array, n_values, sizeof ( int ), compare_integers );

 for ( i = 0; i < n_values; i +=1 )
     printf ( "%d\n", array [i] );

 free ( array );

 return EXIT_SUCCESS;
}
搜索更多相关主题的帖子: 内存 动态 
2011-10-19 22:44
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你们到底有几个人呐?

授人以渔,不授人以鱼。
2011-10-19 23:39
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
收藏
得分:0 
回复 2楼 TonyDeng
为什么要这么问?  你又不回答我的问题, 真是的,

最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
2011-10-19 23:41
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:0 
#include < stdio.h >
#include < stdlib.h >
int compare_integers ( const  void  *a, const void  *b )
{
    register int const *pa = a;
    register int const *pb = b;
    return *pa > *pb ? 1 :( *pa < *pb ? -1 : 0);

}
int main ( )
{
    int *array;
    int n_values;
    int i,k=0;
    printf ( "How many values are there?" );
    if ( scanf ( "%d", &n_values ) != 1 || n_values <= 0 )
    {
        printf  ( "Illegal number of values.\n" );
        exit ( EXIT_FAILURE );
    }
    array = (int *)malloc ( n_values * sizeof ( int ) );
    if ( array == NULL )
    {
        printf ( "Can't get memory for that many values.\n" );
        exit ( EXIT_FAILURE );
    }
    for ( i = 0; i < n_values; i++ )
    {   k=i;
        printf ( "?" );
        if ( scanf ( "%d",array + k ) != 1 )
        {
            printf ( "Error reading value #%d\n", k );
            free  ( array );
            exit ( EXIT_FAILURE );
        }
    }
qsort ( array, n_values, sizeof ( int ), compare_integers );
for ( i = 0; i < n_values; i ++)
     printf ( "%d\n", array [i] );
free ( array );
return EXIT_SUCCESS;
}

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-10-20 00:05
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
收藏
得分:0 
回复 4楼 A13433758072
不能运行啊

最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
2011-10-20 00:51
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
程序代码:
#include < stdio.h >
#include < stdlib.h >
int compare_integers ( const  void  *a, const void  *b )
{
    register int const *pa = (int const *)a;
    register int const *pb = (int const *)b;
    return *pa > *pb ? 1 :( *pa < *pb ? -1 : 0);
   
}
int main ( )
{
    int *array;
    int n_values;
    int i,k=0;
    printf ( "How many values are there?" );
    if ( scanf ( "%d", &n_values ) != 1 || n_values <= 0 )
    {
        printf  ( "Illegal number of values.\n" );
        exit ( EXIT_FAILURE );
    }
    array = (int *)malloc ( n_values * sizeof ( int ) );
    if ( array == NULL )
    {
        printf ( "Can't get memory for that many values.\n" );
        exit ( EXIT_FAILURE );
    }
    for ( i = 0; i < n_values; i++ )
    {   k=i;
    printf ( "?" );
    if ( scanf ( "%d",array + k ) != 1 )
    {
        printf ( "Error reading value #%d\n", k );
        free  ( array );
        exit ( EXIT_FAILURE );
    }
    }
    qsort ( array, n_values, sizeof ( int ), compare_integers );
    for ( i = 0; i < n_values; i ++)
        printf ( "%d\n", array [i] );
    free ( array );
    return EXIT_SUCCESS;
} 
图片附件: 游客没有浏览图片的权限,请 登录注册

有图有真像,能运行。

我们都在路上。。。。。
2011-10-20 12:03
bawugwcy
Rank: 1
等 级:新手上路
帖 子:2
专家分:2
注 册:2011-10-20
收藏
得分:0 
能用 借鉴!
2011-10-20 13:22
快速回复:抄了个动态内存分配的例子,但不能运行。。。。。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036717 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved