欢迎来到天天文库
浏览记录
ID:24326310
大小:53.00 KB
页数:4页
时间:2018-11-13
《dowhile语句的用法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、★dowhile语句的用法4.do-ain(){inti,sum=0;i=1;do{sum=sum+i;i++;});}同样当有许多语句参加循环时,要用{和}把它们括起来。【例6.6】ain(){intsum=0,i;scanf(“%d”,i);=sum+i;i++;}printf(“sum=%d”,sum);}(2)main(){intsum=0,i;scanf(“%d”,i);do{sum=sum+i;i++;}=%d”,sum);}篇二:doacrocontent}p;tmp=x;x=y;y=tmp;}if(x>y)se(__afx_condVal);}while(0)
2、粗看我们就会觉得很奇怪,既然循环里面只执行了一次,我要这个看似多余的do...while(0)有什么意义呢?当然有!为了看起来更清晰,这里用一个简单点的宏来演示:#defineSAFE_DELETE(p)do{deletep;p=NULL}while(0)假设这里去掉do...while(0),#defineSAFE_DELETE(p)deletep;p=NULL;那么以下代码:if(NULL!=p)SAFE_DELETE(p)else...dosth...就有两个问题,1)因为if分支后有两个语句,else分支没有对应的if,编译失败2)假设没有else,SAFE_DELETE中
3、的第二个语句无论if测试是否通过,会永远执行。你可能发现,为了避免这两个问题,我不一定要用这个令人费解的do...while,我直接用{}括起来就可以了#defineSAFE_DELETE(p){deletep;p=NULL;}的确,这样的话上面的问题是不存在了,但是我想对于C++程序员来讲,在每个语句后面加分号是一种约定俗成的习惯,这样的话,以下代码:if(NULL!=p)SAFE_DELETE(p);else...dosth...其else分支就无法通过编译了(原因同上),所以采用do...while(0)是做好的选择了。也许你会说,我们代码的习惯是在每个判断后面加上{},就不
4、会有这种问题了,也就不需要do...while了,如:if(...){}else{}篇三:do-while语句使用时的注意事项在do~while循环中,循环由do开始,用while结束;必须注意的是:在while表达式后面的C不能丢,它表示d0-while语句的结束。形如:do{….}while(表达式);A)0B)1C);D),
此文档下载收益归作者所有