我是 C 语言的新手,当你使一个变量同时等于另一个变量和 0.0 时,这意味着什么?[关闭]

I'm new to C, what does it mean when you make a variable equal to another variable and 0.0 at the same time? [closed]

提问人:Calvin M 提问时间:8/20/2023 更新时间:8/20/2023 访问量:89

问:


想改进这个问题吗?通过编辑这篇文章添加详细信息并澄清问题。

3个月前关闭。

我的讲座中提供的代码

我很好奇“term”变量在编码时如何在第一行代码中工作: double pi = 0.0,项;

我也无法在 VSCode IDE 错误代码 C4578 上运行此代码

我似乎在谷歌上找不到答案,所以我来到了这里。 在运行代码的错误中,我尝试更改数字(添加小数位),因为它说这是 abs() 的数据转换问题。我认为 abs() 只输出 int 数据类型的东西,无论如何都可以修复它吗?

如果您看到这个,非常感谢您,这是我第一次编码;)

c do-while 绝对值

评论

5赞 HolyBlackCat 8/20/2023
请将您的整个代码(包括 s)作为文本附上,而不是屏幕截图。还有错误消息。#include
0赞 Weather Vane 8/20/2023
显示的错误不是针对此,而是针对不同的行:第一个是 .第二个错误是在浮点值上使用整数宏。int places = 10.0;abs
1赞 Weather Vane 8/20/2023
文件名表示 C++ 而不是 C。.cpp
0赞 Eric Postpischil 8/20/2023
将来,始终将问题简化为最小的可重现示例:使用例程制作一个完整的程序来重现问题,并通过将编译器错误消息作为文本而不是图像粘贴到问题中来显示编译器错误消息。main
0赞 Calvin M 8/21/2023
非常感谢你们,我太傻了。从你的回复中学到的东西不多!

答:

0赞 Eric Postpischil 8/20/2023 #1

在 中,是单独的项目。等效代码是 ,定义为 a 并将其初始化为零,而 ,则定义 ,而不为其指定初始值。double pi = 0.0, term;pi = 0.0termdouble pi = 0.0;pidoubledouble term;term

错误“'initializing': conversion from 'double' to 'int', possible loss of data'”来自该行,该行为对象指定了值 。要消除警告,请将其更改为 。int places = 10.0;double10.0intplacesint places = 10;

In 是类型的函数。此代码将其与操作数 一起使用的事实表明这是 C++ 代码,文件名 也表明这是 C++ 代码。您似乎已请求编译器将其编译为 C 代码,这就是为什么它会给您消息“'abs':从 'double' 转换为 'int',可能丢失数据”。您应该更改告诉编译器将其编译为 C 代码的任何设置。CabsintdoubletermL2.1-2.3.cpp

评论

0赞 Calvin M 8/21/2023
tysm 伙计,我太傻了 = =
0赞 Calvin M 8/21/2023
看来我讲座中提供的代码犯了一个小错误,我将 abs() 更改为 fabs() 并能够获得预期的结果