什么 在C意味着什么?

C中的问号(?)是什么意思?

??:三元运算符的第一个符号。

 a = (b==0) ? 1 : 0; 

如果b等于0 ,则b将具有值1,否则为0

除了其他答案, ? 可以是三角形的一部分。

这是一个三元运算符 ,它是if-else之类的条件运算符

 int i=1; int j=2; int k; k= i > j ? i : j; //which is same as if(i>j) k=i; else k=j; 

用法: ?:的语法是

 assignment_Variable = Condition ? value_if_true : value_if_false; 

这可能是三元运算符的一部分:

 const int numApples = …; printf("I have %i apple%s.\n", numApples == 1 ? "" : "s"); 

这是一个所谓的条件运算符。 您可以使用此运算符缩短if else语句。

以下链接应该解释一切

http://www.crasseux.com/books/ctutorial/The-question-mark-operator.html

它是一个条件运算符。 例如,请参阅以下链接http://en.wikipedia.org/wiki/Conditional_operator

它是ternary运算符,参见http://en.wikipedia.org/wiki/Ternary_operation#C.2C_C.2B.2B.2C_C.23.2C_Objective-C.2C_Java.2C_JavaScript.2C_ActionScript

最有可能是’?’ 是三元运算符。 它的语法是:

 RESULT = (COND) ? (STATEMEN IF TRUE) : (STATEMENT IF FALSE) 

这是典型的if-else语句的一个很好的简写:

 if (COND) { RESULT = (STATEMENT IF TRUE); } else { RESULT = (STATEMENT IF FALSE); 

因为它通常可以放在一条线上,可以提高可读性。

这里的一些答案是指三元组,它与C预处理器相关。 看看这个非常愚蠢的程序, trigraphs.c

 # /* preprocessor will remove single hash symbols and this comment */ int main() { char *t = "??="; char *p = "??/""; char *s = "??'"; ??(, ??), ??! ??<, ??>, ??- return 0; } 

通过运行gcc -E -trigraphs trigraph.c仅调用c预处理器,输出为

 int main() { char *t = "#" char *p = "\""; char *s = "^"; [, ], | {, }, ~ return 0; } 

希望能够澄清一下三角形是什么,以及什么是’?’ “意思是”在C.