| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 535 人关注过本帖
标题:[求助]简单奇妙的问题
只看楼主 加入收藏
ares333
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-8-9
收藏
 问题点数:0 回复次数:5 
[求助]简单奇妙的问题

输入月份数字,输出相应英文名字

#include"stdio.h"
#include"conio.h"
main()
{
int i,n ;
static char a[][11]=
{
"invalid","january","february","march","april","may","june",
"july","august","september","october","november","december"
}
;
printf("input the month\n");
scanf("%d",&n);
printf("it's %s\n",(0<n<13)?a[n]:a[0]);
return(0);
}
输入15就完蛋
printf("it's %s\n",(a<1||a>12)?a[0]:a[n]);
然后就OK
有什么区别???



搜索更多相关主题的帖子: 英文名字 include return color 
2006-08-14 22:05
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
因为C里面没有这种0<n<13的表达方法,
在C语言中,条件的并列只能用&&和||实现。
您还可以改成:
printf("it's %s\n",n>0&&n<13?a[n]:a[0]);

对不礼貌的女生收钱......
2006-08-14 22:09
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
但注意0<n<13编译器之所以不报错,是因为它把这条件解释成(由左往右):
0<n真否,真则为1,否则为0,而不管真假,都是小于13,所以都只打印a[n],

对不礼貌的女生收钱......
2006-08-14 22:24
笔干2006
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-7-13
收藏
得分:0 

要细心


2006-08-14 22:36
喝茶的小k
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2006-7-27
收藏
得分:0 


按楼主说的

printf("it's %s\n",(0<n<13)?a[n]:a[0]);

替换printf("it's %s\n",(0<n<13)?a[n]:a[0]);  //0<n<13改为n>0&&n<13

编译根本就不能通过阿


2006-08-15 00:33
ares333
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-8-9
收藏
得分:0 
谢谢斑竹

2006-08-15 10:06
快速回复:[求助]简单奇妙的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027565 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved