gpt4 book ai didi

c - 三元运算符。条件自动类型转换

转载 作者:太空宇宙 更新时间:2023-11-04 00:39:54 24 4
gpt4 key购买 nike

如果我在三元运算符条件中只使用unsigned 类型,这些unsigned 变量会自动转换为signed 类型吗?

简单的例子:

unsigned int prevTickSeconds = 48;
unsigned int currentTickSeconds = 5;

unsigned int secondsLeft = (currentTickSeconds - prevTickSeconds ) ?
currentTickSeconds - prevTickSeconds :
60 - prevTickSeconds + currentTickSeconds;

(currentTickSeconds > prevTickSeconds) 如本例所示时,此构造是否正常工作?三元运算符中的条件是否会自动进行类型转换?

最佳答案

不,没有这样的转换,因为所有类型都是 unsigned int 并且会出现“下溢”。

注意:

60 - prevTickSeconds + currentTickSeconds

当且仅当 currentTickSeconds - prevTickSeconds0 时才会执行。

关于c - 三元运算符。条件自动类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13284725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com