请高手解释一条语句!!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/29 10:29:38
#include<iostream.h>
int main()
{
float a[12];
int num, day=0;
do{
cout<<"enter temperature for day"<<day;
cin>>a+day;
}while(*(a+day++)>0);
}
(*(a+day++)>0);的具体运算过程是什么,书上说是先求出a+day的值,然后按*(a+day)得到a[day]的值,这我都能理解,可是书上又说还要判断它是否大于0,如果大于0继续执行,不大于0则退出,那我要问,++的作用是什么呢,为什么不一起计算呢?请祥解~~

后置++,在这些都结束后计算。

我已经在上一篇回答过了,请参考http://zhidao.baidu.com/question/40496829.html

先进行a+day,然后把day自己+1
也就是说这个day++相当于课本上的i++。意思就是先取i值进行运算,然后再把i值自加1
这道题中,++是只针对了day这个变量进行加1,题意是希望每进行一次
*(a+day++)>0这个判断时(当a+day结束后)都让day自加1

其实这句话应该这么看

while(*(a+day)>0);
对电脑来说是判断这句。

执行完这句以后,执行
day++;//也就是day自加1。

程序员喜欢这么写,把两句话夹在一起了,其实是两句话而已。