首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2012-02-20 
问个指针函数的问题~~float*view(pp,j)float(pp)[2]intj{float*ptptpp+jreturn(pt)}main(){floatso

问个指针函数的问题~~
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看看。。
[解决办法]
当局者迷,旁观者清
万物略同
呵呵

热点排行