读书人

问个指针函数的有关问题~

发布时间: 2012-02-20 21:18:24 作者: rapoo

问个指针函数的问题~~
float *view(pp,j);
float (pp)[2];
int j;
{
float *pt;
pt=pp+j;
return(pt);
}
main()
{
float source[][2]={{1.1,1.2},{1.3,1.4},{1.5,1.6}};
float *p;
int i,n=2;
printf( "The record of No .%d are:\n ",n);
p=view(source,n);
for(i=0;i <2;i++)
printf( "5.2f\t ",*(p+i));
}
输出的值应该是 1.5 1.6
可程序怎么会是 1.3 1.4 呢


[解决办法]
float *view(pp,j);
float (pp)[2];
int j;
{
float *pt;
pt=pp+j;
return(pt);
}

看不懂
[解决办法]
//函数指针用法与typedef在函数指针方面的应用
//具体说明可以参考C程序设计 谭浩强 函数指针变量和typedef两小节


#include <stdio.h>

typedef void (*ptr)();
void fun()
{
printf( "Hello World\n ");
}

void call(ptr p)
{
(*p)();
}
int main()
{
//void (*p)();
ptr p;
p=fun;
call(p);
return 0;
}
[解决办法]
这程序能编译通过吗?
[解决办法]
楼主说的是函数指针吧?
[解决办法]
你用的哪国古老编译器?这样的定义函数也通过了。。。

float *view(pp,j);------> 去掉;
printf( "5.2f\t ",*(p+i));--------> printf( "%5.2f\t ",*(p+i));

照你意思来int i,n=2;----> 这里把n改成n = 4看看。。
[解决办法]
当局者迷,旁观者清
万物略同
呵呵

读书人网 >C语言

热点推荐