-1

我必须编写一个程序来查找用户输入的整数的平方根。但是我遇到了一个问题——程序不计算sqrt。我在互联网上搜索了问题,阅读了所有解决方案,但他们没有帮助我。在这个论坛上有很多关于这个主题的问题,但是那里描述的解决方案对我不起作用。

实际上,sqrt当用户输入整数时,函数不起作用。当我设置一个值时,它可以完美运行。换句话说,它找到一个sqrt 的常量,但不是变量。

我用这段代码编译它(因为到处都是写的)gcc -o sqrt -lm sqrt.c

我在 Ubuntu 上工作。

这是代码:

#include<stdio.h>
#include<math.h>
main()
{
int a;
double b=sqrt(a);
scanf("%i", &a);
printf("sqrt of integer is %lf", b);
getchar();
getchar();
return 0;
}
4

2 回答 2

8
int a;
double b=sqrt(a);
scanf("%i", &a);

a在初始化之前使用变量 ( )。scanf应该在sqrt.

于 2012-08-07T16:44:24.010 回答
3

要为已经编写的两个好的答案添加一些内容:您需要记住,C 中的主要指令序列是线性的 - 首先编写的指令首先执行。如果我们谈论数学,可以说“让 b 成为函数sqrt(a),然后找出 b(a) 是什么”。实际上,您可以通过定义自己的函数在 C 中做到这一点,但那是另一回事。注意:计算机并没有按照您的想法去做。它做你告诉它做的事情。

于 2012-08-07T16:53:04.407 回答