2 qq 24597937 qq_24597937 于 2016.03.16 14:23 提问

c语言求一组对数问题(调用)

#include

#include

float LOG(unsigned m)(unsigned n)

{

return float log(n)/log(m);

}

void main()

{

    float a=0,b=0;

    printf("Please input the base:"

           "\n");

    scanf("%f",&a);

    if (a>0&&a!=1)

    {

     printf("Please input the number:"

           "\n");

        while (scanf("%f",&b)!=0)

        printf("log(%.2f)(%.2f)=%.2f\n",

        a,b,LOG(a)(b));

    }

    else

    printf("ERROR!\n");

    return 0;

}

但调用失败,why?

请前辈指教。

2个回答

qq423399099
qq423399099   Ds   Rxr 2016.03.16 14:33
已采纳

没有这样的用法啊float LOG(unsigned m)(unsigned n)
可以改成如下

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

using namespace std;
float LOG(float m, float n)
{
return float(log(n)/log(m));
}
void main()
{
    float a=0,b=0;
    printf("Please input the base:"
           "\n");
    scanf("%f",&a);
    if (a>0&&a!=1)
    {
     printf("Please input the number:"
           "\n");
        while (scanf("%f",&b)!=0)
        printf("log(%.2f,%.2f)=%.2f\n",
        a,b,LOG(a,b));
    }
    else
    printf("ERROR!\n");
}

运行结果:
图片说明

qq_24597937
qq_24597937   2016.03.16 15:01

原来如此。已懂,多谢。(〜 ̄▽ ̄)〜

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!