在Ubuntu上的C中的sqrt

454*_*54b -1 c

我必须编写一个程序,找到用户输入的整数的平方根.但我遇到了一个问题 - 程序不计算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;
}
Run Code Online (Sandbox Code Playgroud)

cni*_*tar 8

int a;
double b=sqrt(a);
scanf("%i", &a);
Run Code Online (Sandbox Code Playgroud)

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