整容说文库 > 程序代码 > 教育资讯

(n<1||n>7) ? name[0] : name[n])这句怎么理解

来源:学生作业帮助网 编辑:整容说文库 时间:2019/05/27 06:20:44 程序代码
(n<1||n>7) ? name[0] : name[n])这句怎么理解程序代码
void main(){
int i;
char *day_name(int n); 
printf("input Day No:\n");
scanf("%d",&i);
if(i<0) exit(0);
printf("Day No:%2d-->%s\n",i,day_name(i));
}

char *day_name(int n){
static char *name[]={ "Illegal day",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"};
return((n<1||n>7) ? name[0] : name[n]);
}


(n<1||n>7) ? name[0] : name[n])这句怎么理解,
问号又什么意思

(n<1||n>7) ? name[0] : name[n])这句怎么理解,

-----------
“ ?:”
3目运算符

---
expression ?true:false
expression为一个表达式,true的地方是表达式为真的返回值,false的地方是为假的返回值
原来是这个,没看出来,呵呵
if(n<1||n>7)
name[0];
else
name[1];
这种问题,晕……
return((n<1||n>7) ? name[0] : name[n]);

当n值是<1或>7时,返回值为name[0]
当n值属于[1,7]时,返回值为name[n]

 angel725() ( ) 信誉:100    Blog  2006-10-29 15:20:00  得分: 0  
 
 
   原来是这个,没看出来,呵呵
  
 ****************************

嘿嘿————嘿嘿嘿嘿嘿嘿嘿嘿嘿嘿!
程序代码