许凯 发表于 2012-2-25 13:50

C菜鸟跪求求高手指教!!!

以下是《计算单位阶跃响应的上升时间》的部分源程序:

# include <stdio.h>
# include <malloc.h>
# include <stdlib.h>

/*
** delta---抽样时间间隔;tr---响应的上升时间;n---抽样数;f(i)---抽样数组。
*/

void get_data(float * pf, int n);
int main(void)
{
        int   i;
        int   n;
        float delta;
        float * pf = NULL;

        printf( "请如入抽样数: n =  " );
        scanf( "%d", &n );
        printf( "请输入抽样时间间隔: delta = " );
        scanf( "%f", &delta );
        printf( "请输入抽样数组: f(i)\n" );

        pf = ( float * )malloc( n * sizeof(float) );

        if (NULL == pf)
        {
                printf( "动态内存分配失败!\n" );
                exit(-1);
        }

        get_data(pf, n);

// 数据输出
        for(i=0; i<n; ++i)
                printf("f(%d) = %f\n", i+1, pf);

        return 0;
}

void get_data(float * pf, int n)
{
        int i;

        for ( i=0; i<n; ++i)
        {
                printf( "f(%d) = ", i+1 );
                scanf( "%f\n", &pf );
        }
}

在敲完 void get_data(float * pf, int n) 函数时测试输出f(i)时出了问题,打印为:


http://user.qzone.qq.com/1053322701/infocenter#!app=4

想了很久,还是想不通!

许凯 发表于 2012-2-25 13:56

坐等呀 !!!!

moderstone 发表于 2012-2-25 15:33

可惜我也不懂呀!!

冷夜舞声 发表于 2012-5-8 18:05

看不到你发的图片也

qlb061 发表于 2012-6-29 18:44

本帖最后由 qlb061 于 2012-6-29 18:48 编辑

/*output data*/
for(i=0; i<n; ++i)
{
       printf("f(%d) = %f\n", i+1, *pf++);
}
/*input data*/
void get_data(float* pf, int n)
{
      int i;

     for ( i=0; i<n; ++i)
    {
           printf( "f(%d) = \n", i+1 );
           scanf( "%f", pf++ );
    }
}
页: [1]
查看完整版本: C菜鸟跪求求高手指教!!!