![]() |
![]() |
![]() |
![]() |
![]() |
|
Because a conditional-operator expression, unlike an if statement,
produces a value, you can place it inside another expression. In
particular, a conditional-operator expression can be an argument in a
printf expression, because C allows you to insert a character
string into the string displayed by printf. You simply place
%s in printf's first argument at the place where you want
the character string.
In the following, for example, a conditional-operator expression appears
inside a printf expression, solving the duplication problem encountered
in Segment 168:
#includemain ( ) { int change; scanf ("%i", &change); printf ("The price has changed by %i %s.\n", change, change == 1 ? "point" : "points"); } --- Data --- 1 --- Result --- The price has changed by 1 point.
If the change is one point, the value returned by the Boolean expression,
and subsequently displayed, is "point"; otherwise, the value
returned and subsequently displayed is "points".