This question already has answers here:
What does the question mark and the colon (?: ternary operator) mean in objective-c?
                                
                                    (13个回答)
                                
                        
                                在10个月前关闭。
            
                    
1:snprintf(       buf, sizeof(buf),
2:                "%s exe=%s hostname=%s addr=%s terminal=%s res=%s",
3:                message, exename,
4:                hostname ? hostname : "?",
5:                addrbuf,
6:                tty ? tty : "?",
7:                success
                );


在上面第6行的代码中,“?”是什么?表示(不是三元运算符)

tty : tty : "?"是什么意思?

最佳答案

在第6行中

tty ? tty : "?"


首先 ?是三元运算符。第二个用引号引起来,是长度为1的字符串中的问号字符(一个字符加一个空终止符)。

因此,该行表示如果tty不为null,则使用tty,否则使用字符串“?”。

关于linux - C:“是什么?”意思? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55810985/

10-11 18:18