Chinaunix首页 | 论坛 | 博客
  • 博客访问: 738309
  • 博文数量: 251
  • 博客积分: 10367
  • 博客等级: 上将
  • 技术积分: 2750
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-10 14:43
文章分类

全部博文(251)

文章存档

2009年(2)

2008年(86)

2007年(163)

分类: C/C++

2008-03-12 10:48:48


一切尽在程序中

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

struct    init
{
    char *fname;
    double    (*fnct)(double);
};

struct    init arith_fncts[] = {
    {"sin",sin},
    {"cos",cos},
    {"tan",tan},
    {"log",log},
    {"exp",exp},
    {"sqrt",sqrt},
    {0,0}
};

int main()
{
    struct init *p;

    *p = arith_fncts[0];                   /*    错误就在这!!!
                                                 *    change ==> 

                                                 *    p = &arith_fncts[0];                                                         */                
    printf("sin:%g\n",(*(p->fnct))(1.2));

    return 0;
}


另外:在编译时要加上  -lm 参数
阅读(658) | 评论(0) | 转发(0) |
0

上一篇:VI Note

下一篇:Lex-Yacc版计算器 version 0.02

给主人留下些什么吧!~~