首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >作为分配的左操作数所需的值……?

作为分配的左操作数所需的值……?
EN

Stack Overflow用户
提问于 2018-05-09 16:42:15
回答 2查看 71关注 0票数 0

我在做我的c作业……:(使用三项式算子(?) _oo?吴:哦

代码语言:javascript
复制
#include <stdio.h>

int main()
{
    int time1, time2, gap;
    int hour, minute;

    setvbuf(stdout, NULL, _IONBF, 0);
    setvbuf(stdout, NULL, _IONBF, 0);

    printf("Enter first time: \n");
    scanf("%d", &time1);

    printf("Enter second time: \n");
    scanf("%d", &time2);

    gap = time2 - time1;

    gap > 0 ? hour = gap/100 : hour = (2400 - gap)/100;
    gap > 0 ? minute = gap%100 : minute = (2400 - gap)%100;

    print("The gap of these times: %d hours, %d minutes", hour, minute);

}

差距>0?间隙/100=小时:(2400 -间隙)/100=小时;

差距>0?分钟=间隙%100:分钟= (2400 -间隙)%100;

这两个句子是错误的(作为赋值的左操作数)。

我想要的结果

第一次输入:1925年

第二次输入: 2358

时间间隔:4小时33分钟

第一次输入: 1540

第二次输入: 1630

时间间隔:0小时50分钟

输入第一次: 0730

输入第二次: 0720

时间间隔: 23小时50分钟

EN

回答 2

Stack Overflow用户

发布于 2018-05-09 16:44:34

试一试:

代码语言:javascript
复制
 hour   = (gap > 0) ? gap/100 : (2400 - gap)/100;
 minute = (gap > 0) ? gap%100 : (2400 - gap)%100;
票数 4
EN

Stack Overflow用户

发布于 2018-05-09 16:48:12

由于这两个条件表达式都计算相同的条件,所以在if语句中组合赋值会更清晰:

代码语言:javascript
复制
if (gap > 0) {
    hour = gap/100;
    minute = gap%100;
} else {
    hour = (2400 - gap)/100;
    minute = (2400 - gap)%100;
}

您可以通过添加一个新变量来进一步简化这一点:

代码语言:javascript
复制
int numerator = gap > 0 ? gap : 2400-gap;
hour = numerator/100;
minute = numerator%100;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50258301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档