[求助]一道题中的几处疑点 谢谢
#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*。 请多学有关指针的部分,打好基础。