- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有人问我是否可以编写一段代码来查找五个数字中最大的一个,而不是使用传统的 if...else
(不能使用 switch
或遍历 - 受限)我决定使用紧凑版本,但在我看来,我发现它冗长且令人困惑(首先在三个数字上尝试过):
#include<stdio.h>
int main(void)
{
int a[3]={9,5,13};
printf("Biggest No. is: %d\n",(a[0]>
(a[1]>a[2]?a[1]:a[2])?a[0]:
(a[1]>a[2]?a[1]:a[2])));
return 0;
}
现在用这个方法对五个数字做这件事似乎是灾难性的,有什么方法可以使它变得更简单(仅通过使用 ?:
这种紧凑的方法)编写充当一个条件并再次将其写为结果似乎太多了?
或者我应该使用传统的 if ... else
block 吗?
发现一件事:将宏用于一个表达式,并使用该宏作为另一次比较的条件和结果。
最佳答案
您可以使用嵌套宏来分解逻辑。
#define MAX2(a,b) (a)>(b)?(a):(b)
#define MAX3(a,b,c) (a)>(b)? MAX2(a,c): MAX2(b,c)
#define MAX4(a,b,c,d) (a)>(b)? MAX3(a,c,d): MAX3(b,c,d)
#define MAX5(a,b,c,d,e) (a)>(b)? MAX4(a,c,d,e): MAX4(b,c,d,e)
关于c - 尝试 "?:"条件 block 是否可以变得更简单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52439410/
我在 android 代码中使用 asmack XMPP。我可以正常登录 XMPP 服务器,但是当我尝试创建新用户时出现问题。我想要实现的是: 以管理员身份登录。 创建一个新用户。 从管理员注销。 以
这是我的标记页面,其中有一个按钮可以从数据库中搜索数据并显示在网格中 这是我背后的代码 if (!IsPostBack) { LblInfo.Text = "Page Load
当我多次将相同的 float 值插入到我的集合中时,本应花费恒定时间的 x in s 检查变得非常慢。为什么? 时序x in s的输出: 0.06 microseconds 0.09 mi
我有一个小型聊天客户端,可以将所有历史记录存储在 sqlite 数据库中。当用户单击我的应用程序中的 history 选项卡时,我的应用程序会获取所有相关历史记录并将其显示在 QWebView 中。我
我是一名优秀的程序员,十分优秀!