Wat betekent een vraagteken (?) in C?
Antwoord 1, Autoriteit 100%
?
is het eerste symbool van de ?:
Ternary-operator.
a = (b==0) ? 1 : 0;
a
heeft de waarde 1 als b
gelijk is aan 0
en 0 anders.
Antwoord 2, Autoriteit 50%
Bovendien op andere antwoorden, ?
kan deel uitmaken van een trigraaf .
Antwoord 3, Autoriteit 33%
Dit is een ternary operator die voorwaardelijke operator is, gebruikt als zo-anders
Voorbeeld
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;
Gebruik:
Syntaxis van ?: is
assignment_Variable = Condition ? value_if_true : value_if_false;
Antwoord 4, Autoriteit 17%
Dat is waarschijnlijk een onderdeel van de ternaire operator :
const int numApples = …;
printf("I have %i apple%s.\n", numApples == 1 ? "" : "s");
Antwoord 5, Autoriteit 17%
Dit is een zogenaamde voorwaardelijke operator. U kunt uw indien anders verkorten met deze operator.
De volgende link moet alles verklaren
http://www.crasseux.com/books/ CTUTORIAL / DE-vraag-mark-operator.html
Antwoord 6, Autoriteit 12%
Het is een voorwaardelijke operator. Zie bijvoorbeeld de onderstaande link
http://en.wikipedia.org/wiki/conditional_operator
Antwoord 7, Autoriteit 8%
Het is de ternary
Operator, zie http://en.wikipedia.org/wiki/nary_Operation#c.2c_c.2b.2b.2c_c.23.2c_objective-c.2c_java.2c_javascript.2c_actionscript
Antwoord 8, Autoriteit 4%
Hoogstwaarschijnlijk ‘?’ is de ternaire operator. De grammatica is:
RESULT = (COND) ? (STATEMEN IF TRUE) : (STATEMENT IF FALSE)
Het is een mooie steno voor de typische IF-else-verklaring:
if (COND) {
RESULT = (STATEMENT IF TRUE);
} else {
RESULT = (STATEMENT IF FALSE);
Omdat het meestal op één regel past en de leesbaarheid kan verbeteren.
Sommige antwoorden hier verwijzen naar een trigraaf, die relevant is voor de C preprocessor. Bekijk dit echt domme programma, trigraphs.c
:
# /* preprocessor will remove single hash symbols and this comment */
int main()
{
char *t = "??=";
char *p = "??/"";
char *s = "??'";
??(, ??), ??! ??<, ??>, ??-
return 0;
}
Breng alleen de C Preprocessor aan door te draaien gcc -E -trigraphs trigraph.c
De uitvoer is
int main()
{
char *t = "#"
char *p = "\"";
char *s = "^";
[, ], | {, }, ~
return 0;
}
Hopelijk verduidelijkt dat een beetje wat trigraphs zijn, en wat een ‘?’ “betekent” in C.