c/c++语言开发共享Turbo C编译器问题,sqrt()函数不能使用变量参数

我搜索类似于我的问题类似的问题 。 但我的问题是使用Turbo C编译器v3.0时。 我是否应该为math.h文件做一些额外的工作? 请帮忙。

int main (void){ double result, a; clrscr(); printf("Enter a # for square root.n"); scanf("%f",&a); printf("a = %fn",a); result = sqrt(a); printf("a = %f and square root is %fn",a, result); getch(); return 0; } 

输出是这样的:

输入#作为平方根。

64

a = 0.000000

a = 0.000000,平方根为0.000000

    对于scanf()%f用于float 。 您需要将%lf用于double

     printf("Enter a # for square root.n"); scanf("%lf",&a); 

    这与printf()相反,其中type-promotion允许%f用于floatdouble

    试试这个 :

      scanf("%lf",&a); 

    或者将变量a更改为float:

      float a; 

    除了使用"%lf"作为scanf格式之外,您还需要

     #include  #include  #include  /* I think */ 

    最后一个用于clrscr()getch()调用; 它们是非标准的,但我认为它们是在声明的。

    如果没有#include ,编译器将假设sqrt()返回int结果而不是double

    (旁边:为什么要调用clrscr() ?在执行任何其他操作之前清除屏幕有什么好处? getch()调用也不是必需的,但在某些系统上运行程序的默认方法会导致窗口一旦终止就关闭。)

      以上就是c/c++开发分享Turbo C编译器问题,sqrt()函数不能使用变量参数相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/541879.html

      (0)
      上一篇 2021年1月5日
      下一篇 2021年1月5日

      精彩推荐