当前位置: 首页 > 姓名 > 正文

6-2 输出月份英文名 (10 分)

2023-05-08 姓名

本题要求实现函数输出月份英文名,可以返回一个给定月份的英文名称。

函数接口定义:

char *getmonth( int n );

函数getmonth应返回存储了n对应的月份英文名称的字符串头指针。如果传入的参数n不是一个代表月份的数字输出月份英文名,则返回空指针NULL。

裁判测试程序样例:

#include  char *getmonth( int n ); int main() {     int n;     char *s;     scanf("%d", &n);     s = getmonth(n);     if ( s==NULL ) printf("wrong input!n");     else printf("%sn", s);     return 0; } /* 你的代码将被嵌在这里 */

输入样例1:

5

结尾无空行

输出样例1:

May

结尾无空行

输入样例2:

15

输出样例2:

wrong input!

char *getmonth( int n ) { 	char a[][19]={"January","February","March","April","May","June","July","August","September","October","November","December"}; 	if (n-1>=0&&n-1<12) return (a[n-1]); 	else return (NULL); }

这个编译后输出不了正确结果,原因是定义的二维数组是在函数内部定义的,属于局部变量输出月份英文名,只在函数内部起作用。在执行函数调用时,系统在栈上为函数内部的局部变量及形参分配内存,函数执行结束时,自动释放这些内存。

因此

char *getmonth( int n ) { 	static char a[][19]={"January","February","March","April","May","June","July","August","September","October","November","December"}; 	if (n-1>=0&&n-1<12) return (a[n-1]); 	else return (NULL); }

相关资讯
  • 象征永恒的星辰的英文名

    “星星”在天上闪闪发光,你也曾为此着迷吗?可惜我们只能用肉眼定格这些繁星点点的美丽瞬间,不能够触摸到。喜欢浩瀚星辰,多半是它永恒又闪亮无比吧。你曾想过为自己取一...
    2023-05-08
  • Lucy?Jack?拜托给宝宝好好取个英文名

    “我想替孩子取英文名字,请问xxx好不好?”这是网络上常见的留言。很多幼儿园要求孩子要有一个英文名(双语幼儿园尤甚),部份家长很苦恼个性独一无二的英文名,如果不...
    2023-05-08
  • qq女生好听的英文名(qq名字大全女生清新英文名) 50个

    女生英语的名字大全2015,共整理了50个高大上的英文名,每个英文名字都标注了流行度,听起来都十分易读,给人一种富创造力健壮的印象,英文名并不是随随便便就能取的...
    2023-05-08
  • 如果登陆冥王星,你会看到什么样的世界?那里的太阳有多大?

    在浩瀚的宇宙中,漂浮着许许多多的行星和恒星,曾经名列九大行星之一的冥王星就在其中。由于在我国古代,人们只知道有土星以内的行星存在,便以五行命名,像冥王星、天王星...
    2023-05-08
  • 寓意为成功的英文名字(带水含义的英文名) 57个

    冥王星的英文名含义,共计整理了51个名字,每个名字都备注了流行度,而且发音好听,都是比较个性的英文名,给人一种正直不会犯错的印象冥王星英文名,曾经那些起的比较草...
    2023-05-08
  • 五行取名打分 宝宝起名打分五行八字

    五行取名孩子的名字如何进行五行八字打分十二星座,很多家长对于自己孩子的名字是非常重视的会用一些专用的方法来给孩子起名其中比较常见的有五行八字起名法。没接触过这方...
    2023-05-08

Copyright 2008-2024 www.Sm996.Com 版权所有 | 闽ICP备2021007644号-5

声明: 部分信息与图片素材来源于互联网,如内容侵权与违规,请与本站联系,将在三个工作日内处理,互联网不良信息举报邮箱:2300424033@qq.com