标题:函数调用问题
取消只看楼主
a187326700
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2018-2-26
结帖率:100%
已结贴  问题点数:20 回复次数:2 
函数调用问题
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

#define    LEN    20

void transform(double *source, double *target, int n, double (*fp)(double));

int    main(void)
{
    double    source[LEN];//源数组
    double    target[LEN];//目标数组
    double    num;
    transform(source, target, LEN, sin(num)); //这里提示 错误
    return    0;
}
void transform(double sou[LEN], double tar[LEN], int LEN, double sin(double num))
{
    int i;
    srand((unsigned)time(NULL));
    for(i = 0; i < LEN; i++)        //为源数组赋值
    {
        sou[i] = rand() % 100 +1;
        printf("%.2f  ", sou[i]);
    }
    for(i = 0; i < LEN; i++)        //把源数组值求正玄值赋值给目标数组
    {
        tar[i] = sin(sou[i]);
        printf("%.2f  ", tar[i]);
    }        
}

[Error] cannot convert 'double' to 'double (*)(double)' for argument '4' to 'void transform(double*, double*, int, double (*)(double))'
搜索更多相关主题的帖子: double int void 数组 include 
2021-07-11 05:42
a187326700
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2018-2-26
得分:0 
怎么改才能编译通过呀,二楼的代码也编译不过呀。。。



以上是改成二楼的代码提示的信息
2021-07-12 10:39
a187326700
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2018-2-26
得分:0 
回复 5楼 zbjzbj
能说明白点吗,改完能编译通过了

但还是不太明白原因

[此贴子已经被作者于2021-7-12 12:35编辑过]

2021-07-12 12:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-506218-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.495479 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved