请祥解一条语句

[复制链接]
查看11 | 回复2 | 2007-11-28 05:47:03 | 显示全部楼层 |阅读模式
跟上下文有关系,从你给的东西看不出什么.
回复

使用道具 举报

千问 | 2007-11-28 05:47:03 | 显示全部楼层
(*(a+i++)>0的正确解释是这样的:首先是求*(a+i)的东西,因为i++,++是在后面的,所以先取值后加1.*(a+i)即a此时i已经是加1后的值了.然后判断a是否大于0,是则停止循环.这句话把递增和判断都放在一起了.比较通俗的话可以这样写:do{ //代码 i++;}while( a[i-1] > 0 ); //因为i已经加过1了,请注意这里不能用i--或者while( a[ i ] > 0 ){ //代码 i++;}当然,如果a[0]就不满足>0的话,两者是有区别.do while会多做一次代码,while什么都不会做.这样的话,就只能用do while了.
回复

使用道具 举报

千问 | 2007-11-28 05:47:03 | 显示全部楼层
其实这句话应该这么看 while(*(a+i)>0); 对电脑来说是判断这句。 执行完这句以后,i++;也就是day自加1。程序员喜欢这么写,把两句话夹在一起了,其实是两句话而已。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行