读书人

[]一道题中的几处疑点 多谢

发布时间: 2012-06-07 15:05:14 作者: rapoo

[求助]一道题中的几处疑点 谢谢
#include<stdio.h>
void main()
{
int month,year,date;
char *strmon[12]={"january","februrary","march","april","may","june","july","august","september","october","november","december"}; -----------这段代码不懂是怎么用的 printf("请输入月份:");
scanf("%d",&month);
printf("请输入日期:");
scanf("%d",&date);
printf("请输入年份:");
scanf("%d",&year);

switch(date%10)---------(date%10)是什么意思 {
case 1:

printf("%dst %s %d",date,strmon[month-1],year);--------------strmon[month-1] 这是什么意思 break;

case 2:

printf("%dnd %s %d",date,strmon[month-1],year);
break;

case 3:

printf("%drd %s %d",date,strmon[month-1],year);
break;

default:

printf("%dth %s %d",date,strmon[month-1],year);
}
}





[解决办法]
1. -----------这段代码不懂是怎么用的
定义了一个指向字符串的指针数组。
strmon[0] 指向"january"

2. ---------(date%10)是什么意思
date%10表示date 除以10的余数,如果date=11,21,31,date%10==1

3.--------------strmon[month-1] 这是什么意思
如果month=1, strmon[month-1]=strmon[0]="January",
如果month=12, strmon[month-1]=strmon[11]="December",
[解决办法]
char * 用在数组定义中表示,数组元素的类型是 char*。 请多学有关指针的部分,打好基础。

读书人网 >C语言

热点推荐