鱼C论坛

 找回密码
 立即注册
查看: 1042|回复: 4

[已解决]简单的程序问题

[复制链接]
发表于 2020-11-11 16:48:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>
int main(void)
{
        float a, b, c, s, area;
        scanf("%f%f%f\n",&a ,&b ,&c);
        s = 1.0/2*(a+b+c);
        *area = sqrt(s*(s-a)*(s-b)*(s-c));
        printf("%f %f %f %f %f\n",a, b, c, s, area);
}

为啥给我报错说area没有在范围呢

[Error] 'sqrt' was not declared in this scope
而且之前用这个Devc夜也有好多这样的报错。是之前的一些函数在这里面不通用了吗?
最佳答案
2020-11-11 21:30:56
目前已经没有任何语法错误了。
修改的地方在注释里面了

上代码
#include <stdio.h>
#include <math.h>                                        // [Error] 'sqrt' was not declared in this scope 
                                                                        // 加上这行指令就可以消除这个错误了,因为sqrt这个函数是标准数学库里面的。
                                                                        // 没加上这行会报错是因为,在代码里面找不到和sqrt相关的信息.
int main(void)
{
        float a, b, c, s, area;
        scanf("%f%f%f",&a ,&b ,&c);  // 格式字符串去掉了 '\n' 这个字符
        s = 1.0/2*(a+b+c);
        area = sqrt(s*(s-a)*(s-b)*(s-c));  // area 前面不用加上 * 
        printf("%f %f %f %f %f\n",a, b, c, s, area);
}

运行结果

                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-11-11 16:49:51 | 显示全部楼层
本帖最后由 小狼爱编程 于 2020-11-11 16:54 编辑

是我自己没有调用数学函数,傻逼了。但是运行不显示结果是啥情况,输入完了SCANF就没了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-11 20:52:22 | 显示全部楼层
本帖最后由 1471590985 于 2020-11-11 20:58 编辑

你的scanf里面有个\n所以你输入完abc以后得加上个\n  c语言才会认为你输入完毕了 所以才会运行不显示结果
还有你的s写错了,应该是半周长,你少加了个括号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-11 21:30:56 | 显示全部楼层    本楼为最佳答案   
目前已经没有任何语法错误了。
修改的地方在注释里面了

上代码
#include <stdio.h>
#include <math.h>                                        // [Error] 'sqrt' was not declared in this scope 
                                                                        // 加上这行指令就可以消除这个错误了,因为sqrt这个函数是标准数学库里面的。
                                                                        // 没加上这行会报错是因为,在代码里面找不到和sqrt相关的信息.
int main(void)
{
        float a, b, c, s, area;
        scanf("%f%f%f",&a ,&b ,&c);  // 格式字符串去掉了 '\n' 这个字符
        s = 1.0/2*(a+b+c);
        area = sqrt(s*(s-a)*(s-b)*(s-c));  // area 前面不用加上 * 
        printf("%f %f %f %f %f\n",a, b, c, s, area);
}

运行结果

                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-13 09:40:14 | 显示全部楼层
shooan 发表于 2020-11-11 21:30
目前已经没有任何语法错误了。
修改的地方在注释里面了

好的这样啊 谢谢,那个area的星号是说明这里有错误,我直接给标出来了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 16:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表