您的位置:

c语言sprt用不了,sprt怎么用

本文目录一览:

C语言中的开平方函数

b的类型声明错误,sprt函数返回double值。

DOUBLE 数据类型保存双精度浮点数。它是一种近似数字数据类型,在算术运算后容易产生舍入误差。DOUBLE 值的近似特性意味着在比较 DOUBLE 值时通常应该避免使用等式的查询。

DOUBLE 值需要 8 个存储字节。

取值范围是 -1.79769313486231e+308 到 1.79769313486231e+308,最趋近于零的数为 2.22507385850721e-308。DOUBLE 类型的值精确到 15 位有效数字,而超过第十五位就可能会产生舍入误差。

sqrt()函数是cmath标头(在早期版本中为math.h )的库函数,用于查找给定数字的平方根,它接受数字并返回平方根。

扩展资料:

float 与 double 类型区别:

float 单精度浮点数在机内占 4 个字节,用 32 位二进制描述。

double 双精度浮点数在机内占 8 个字节,用 64 位二进制描述

浮点数在机内用指数型式表示,分解为:数符,尾数,指数符,指数四部分。

数符占 1 位二进制,表示数的正负。

指数符占 1 位二进制,表示指数的正负。

尾数表示浮点数有效数字,0.xxxxxxx, 但不存开头的 0 和点。

指数存指数的有效数字。

指数占多少位,尾数占多少位,由计算机系统决定。

可能是数符加尾数占 24 位,指数符加指数占 8 位 -- float。

数符加尾数占 48 位,指数符加指数占 16 位 -- double。

知道了这四部分的占位,按二进制估计大小范围,再换算为十进制,就是你想知道的数值范围。

刚学c语言 请教

disc是这段程序自定义的一个关键词,在这里起的作用就是等于b*b-4*a*c这个值,而a,b,c这三个值在这里都是键盘键入的三个浮点数.

至于sprt是个函数,也是自定义的,在这段程序没有说明,应该在程序后面还有一段关于sprt函数内容的程序,否则是运行不了的.这段程序的结果就是在屏幕上显示出运算后的X1,X2的值

c语言中sprt是什么意思

sprt在C语言中并没有什么特别的含义,既不是关键字也不是库函数。

sprt可能是编程人员定义的一个变量名或结构体名或函数名等,如:

int sprt;  // 变量名

struct

{

    int num;

    char name[];

}sprt; // 结构体名

void sprt()  // 函数名

{

    printf("abc");

}

c语言高手,指针,strcpy用不成?

这是传说中的。。。野生指针。。。

指针

ptrsource

ptrdestionaton

都没有初始化,

也就是说你的程序在运行的时候没有分配一段空间,然后让这些指针取指向它们;

而是让这些指针指向了内存中的随机区域。

换句话说,你在非法操作内存。这样的后果,是修改了其他应用程序使用的内容,更严重的是修改了操作系统本身使用的内存(当然一般情况下会禁止你访问的那片内存区域的)。

上面的野指针是最严重的问题,你的程序还有其他问题,下面是修改后的版本:

#includestdio.h

int

main()

{

char

source[100];

char

destionation[100];

//

ptrsource

执行程序开辟的一块内存:

source

char

*ptrsource

=

source;

//

ptrdestionaton

执行程序开辟的一块内存:

destionation

char

*ptrdestionaton

=

destionation;

gets(ptrsource);

while((*ptrdestionaton++

=

*ptrsource++)!=NULL);

//

这里漏了一步:你没有为

ptrdestionaton

执向的字符串,添加字符串结束符号

'\0'

*ptrdestionaton

=

'\0';

//

这里更有问题:ptrdestionaton

已经指向了字符串的末尾,你能输出什么呢?

//

你要让

ptrdestionaton

重新执行字符串的开头才可以!!!

ptrdestionaton

=

destionation;

puts(ptrdestionaton);

}

C语言循环里scanf用不了

肯定是因为game()函数里有scanf语句,并且scanf之后没有处理scanf留下的换行符。

scanf从屏幕是读取数据时,往往不会自动读掉行尾的换行符(你输入数据后,肯定会按一个回车的对吧),所以在game函数里的最后一个scanf结束后,输入缓冲区里还一个换行符在里面,这个时候main函数里的scanf函数读到的字符就是那个换行符

解决方法:

在game函数的最后一个scanf函数后面,加上一个gets语句,用来读掉最后一个换行符即可,当然如果你的输出里敲了多个回车,就要执行多句,不懂可以贴上你的game()函数和你上面的输入,我再告诉你

C语言编译器用不了scanf();gets()之类的函数,是怎么回事啊。。。 一点运行就卡死了。

可能你的编译器被病毒感染。

我推荐你使用C-free编译器,支持C/C++