Podczas programowania w C korzystam z operatora warunkowego (? :). Ale nie chcę używać innej części.
if(x!=1){printf("Hello");}
Jak pisać za pomocą operatora warunkowego?
Odpowiedzi:
0 dla odpowiedzi № 1Chociaż wydają się podobne w funkcji, operatory warunkowe nie są tym samym, co instrukcje warunkowe (instrukcje IF).
Głównym celem operatora warunkowego jest zmiana wartości przypisanej zmiennej, w zależności od warunku.
Biorąc pod uwagę następujący (okropny) przykład ...
if(raining==true)
{
take="umbrella";
}
else if(raining==false)
{
take="sunglasses";
}
Można to przepisać po prostu jako:
take=(raining ? "umbrella" : "sunglasses");
To jest główny cel operatora warunkowego. Ale, jak powiedział Oliver Charlesworth w komentarzach, nie jest on przeznaczony do sterowania przepływem.
Tak więc, ogólnie rzecz biorąc, jeśli znajdziesz się w miejscu, w którym chcesz operatora warunkowego bez pozostałych, używasz niepoprawnie operatorów warunkowych.
2 dla odpowiedzi nr 2
Operator trójskładnikowy ?:
wymaga wyrażenia, jeśli warunek nie jest spełniony, zawsze możesz umieścić tam wartość „obojętną”, taką jak wartość 0
jak w poniższym przykładzie:
x != 1 ? printf("Hello") : 0;
Stwierdzenie „jeśli” byłoby prawdopodobnie lepszym sposobem postępowania w takich przypadkach.
1 dla odpowiedzi nr 3
To jest inny operator &&
i pozwala pominąć część else:
#include <stdio.h>
int main () {
int x = 1;
x != 1 && printf ("Hellon");
return 0;
}
Spróbuj uruchomić program, a następnie zmień x
do 2
i biegnij ponownie.