In het bovenstaande fragment, wat betekent “? “? Waar kunnen we het vervangen door?
Antwoord 1, Autoriteit 100%
Dit wordt gewoonlijk aangeduid als de voorwaardelijke operator , en wanneer gebruikt als dit:
condition ? result_if_true : result_if_false
… Als de condition
evalueert naar true
, evalueert de uitdrukking op result_if_true
, anders evalueert het naar result_if_false
.
Het is syntactische suiker , en in dit geval kan het worden vervangen door
int qempty()
{
if(f == r)
{
return 1;
}
else
{
return 0;
}
}
Opmerking: Sommige mensen verwijzen naar ?:
it als “de ternaire operator “, omdat het de enige ternaire operator is (dwz operator dat duurt drie argumenten) in de taal die ze gebruiken.
Antwoord 2, Autoriteit 11%
Dit is een ternaire operator, het is in feite een inline indien statement
x ? y : z
werkt als
if(x) y else z
behalve, in plaats van uitspraken die u uitdrukkingen heeft; Dus je kunt het in het midden van een complexere verklaring gebruiken.
Het is handig voor het schrijven van beknopte code, maar kan te veel worden gebruikt om de code te behouden.
Antwoord 3, Autoriteit 5%
slechts een briefje, als u dit ooit ziet:
a = x ? : y;
Het is een GNU-uitbreiding van de standaard (zie https://gcc.gnu .org/onlinedocs/gcc/Conditionals.html#Conditionals).
Het is hetzelfde als
a = x ? x : y;
Antwoord 4, autoriteit 4%
Je kunt het gewoon herschrijven als:
int qempty(){ return(f==r);}
Wat hetzelfde doet als in de andere antwoorden is gezegd.
Antwoord 5, autoriteit 4%
Het wordt de voorwaardelijke operatorgenoemd.
Je kunt het vervangen door:
int qempty(){
if (f == r) return 1;
else return 0;
}
Antwoord 6, autoriteit 2%
Het is de voorwaardelijke operator.
een ? b : c
Het is een snelkoppeling voor IF/THEN/ELSE.
betekent: als a waar is, retourneer b, anders retourneer c. In dit geval, als f==r, retourneer 1, anders retourneer 0.
Antwoord 7
Het vraagteken is de voorwaardelijke operator. De code betekent dat als f==r dan 1 wordt geretourneerd, anders 0. De code kan worden herschreven als
int qempty()
{
if(f==r)
return 1;
else
return 0;
}
wat waarschijnlijk niet de schoonste manier is om het te doen, maar hopelijk helpt het je begrip.