学了指针,有个问题请教

killme2008 2003-09-12 06:31:12
#include<iostream.h>
int data[][13]={
{0,31,28,31,30,31,30,31,31,30,31,30,31}
{0,31,29,31,30,31,30,31,31,30,31,30,31}};
void main()
{ int y,m,d,yd;
int *p,i,*j;
cout<<"Enter year month day:";
cin>>y>>m>>d;
p=data[0];
i=y%4==0&&y%1000!=0||y%400==0;
yd=d;
if(i)
p+=13;
j=p+m;
while(p<j)
{ yd+=*p;
p++;
}
cout<<yd<<endl;
}

刚学指针,有个程序不大懂,能不能有高手给我解释一下???
那个j代表什么我不大明白,能不能给我解释一下吗?????
谢谢.
刚学C++,请指点,大哥大姐们!!!
...全文
29 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tstimes 2003-09-12
  • 打赏
  • 举报
回复
举个例子:闰年,2月。此时if(i),成立,进入if语句,p+=13使P指向data[1][0],j=p+m使j指向data[1][2],也就是2月
tianjieshui 2003-09-12
  • 打赏
  • 举报
回复
j的作用是使指针指向二维数组的第二层入口,{0,31,29,31,30,31,30,31,31,30,31,30,31}};
指向0的地址,为了计算闰年
TianGuangZao 2003-09-12
  • 打赏
  • 举报
回复
p=data[0]; 改成 p=&data[0] 或 p=data
原因:
data[0] 表示通过下标运算符[0],取第一个元素中的包含的值,
而 p 为指针,它包含的应该是某个元素地址, 所以我们还得额外用 & 取的 data[0] 的地址。
data 是数组名,可以看做一个指向数组首地址的指针,而你要取的恰好是首地址,所以 p = data 也是可以的。
如要取第 2 元素的地址:p = &data[1]
或 p = data + 1, 这里复杂一些,涉及到指针算术运算,得额外找资料看看。

i=y%4==0&&y%1000!=0||y%400==0;

表示判断是否是润年。
flinming 2003-09-12
  • 打赏
  • 举报
回复
up
tangcx 2003-09-12
  • 打赏
  • 举报
回复
j是代表 M+P(如果的平年p=0,否则是13)
然后让指针指向它
tangcx 2003-09-12
  • 打赏
  • 举报
回复
i=y%4==0&&y%1000!=0||y%400==0;
应该有问题
作业是学校教育教学管理工作的重要环节,是课堂教学活动的必要补充。做作业,是个学生就跑不了。但问题是一些学校作业数量过多、质量不高、功能异化,既达不到温故知新的效果,又占用了学生正常的锻炼、休息、娱乐时间。长期以来,义务教育学校特别是小学存在“三点半”放学现象,这一政策的初衷是为学生减负,但没想到,校内减负校外增负,而且校外增加的负担处于失控、失管的状态。 过重的课业负担严重损害青少年的身心健康,危害民族未来。只有通过减轻课业负担,才能保证学生生动活泼的个性、健康快乐成长。 今年7月国家为了切实提升学校育人水平,持续规范校外培训,有效减轻义务教育阶段学生过重作业负担和校外培训负担,印发了《关于进一步减轻义务教育阶段学生作业负担和校外培训负担的意见》(简称“双减”)。从这开始,“双减”成了街头巷尾议论的主要话题,更变成了教师的工作指针。每位教师肩负起“双减提质”的研究任务。 首先欢迎各位老师的到来,和我一起为备战中考互相学习。为准备好此次中考英语备考策略交流,在总结自身教学经验的同时,也特别向奋战在初三一线的同事们请教了他们的教学经验。通过不断的深入学习和总结,今天,将我所学、所得、所用与

69,337

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧