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
想了很久,还是想不通! 坐等呀 !!!! 可惜我也不懂呀!! 看不到你发的图片也 本帖最后由 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]