/ / Jak napisać operator warunkowy (? :) bez użycia innego - c

Jak napisać operator warunkowy (? :) bez używania else - c

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 № 1

Chociaż 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.