Wat doet? in C bedoel?

Wat betekent een vraagteken (?) in C?


Antwoord 1, Autoriteit 100%

?is het eerste symbool van de ?:Ternary-operator.

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

aheeft de waarde 1 als bgelijk is aan 0en 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 ternaryOperator, 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.cDe 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.

Other episodes