什么 在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.