? : 运算符(三元运算符)
我们已经在前面的章节中讲解了 条件运算符 ? :,可以用来替代 if…else 语句。它的一般形式如下:
Exp1 ? Exp2 : Exp3;
其中,Exp1、Exp2 和 Exp3 是表达式。请注意,冒号的使用和位置。
? 表达式的值是由 Exp1 决定的。如果 Exp1 为真,则计算 Exp2 的值,结果即为整个表达式的值。如果 Exp1 为假,则计算 Exp3 的值,结果即为整个表达式的值。
实例
示例1
以下实例通过输入一个数字来判断它是否为奇数或偶数
#include<stdio.h>
int main()
{
int num;
printf("输入一个数字 : ");
scanf("%d",&num);
(num%2==0)?printf("偶数"):printf("奇数");
}
示例2
#include <stdio.h>
int A=10;
int B=20;
char buy;
int sum,number;
int main(){
printf("以下是本店的商品及价格:\n A 商品每个十元;\n B 商品每个二十元;\n\n");
printf("请输入你所需的产品(A 或 B):");
scanf("%c",&buy);
printf("请输入所需的数量:");
scanf("%d",&number);
sum=buy=='A'?A*number:B*number;
printf("\n你所需要的%d个%c商品总共%d元。\n",number,buy,sum);
return 0;
}