c - 关系“等于”运算符如何工作
问题描述
#include <stdio.h>
int main()
{
int x=3;
float y=3.0;
if(x==y)
printf("\n x and y are equal");
else
printf("\n x and y are not equal")
return 0;
}
代码打印“x 和 y 相等”。请解释这是如何发生的。
解决方案
使用 比较 int 变量和 float 变量==
时,首先将 int 隐式转换为 float,然后进行比较。
因此,float(x) == y
手段3.0f == 3.0f
,这是真的,这就是你执行它的原因:
printf("\n x and y are equal");
推荐阅读
- symfony - Symfony:使用 PRE_SUBMIT 表单事件进行功能测试
- python - 安装scrapy时出错。还安装了 Microsft Visual Studio
- html - 如何对不同行中的列数据求和并使用 Typescript 绑定到文本框
- optuna - Optuna 返回最后一个值,而不是一次试验的最佳值
- azure - 我正在 Azure DevOps 上创建用于部署 APIM APP 的发布管道。我的发布管道中有任务:AzureBlob 文件复制任务
- python - __setattr__ 禁止更改实例/自变量?
- c++ - TCP 丢包 (ns3)
- sql-server - 如何根据条件重置累计和?
- docusignapi - DocuSign Webhooks 响应 - 时区
- reactjs - 反应中的内部搜索栏