社区
C语言
帖子详情
do while()的问题
ppper2022
2005-10-28 10:58:29
main()
{
int x=2;
do
{
int x=1;
x=!x;
printf("%d,",x);
}
while(--x);
}
最后输出是什么结果?为什么?两问都要答,答对,才有分哦。:P
...全文
113
10
打赏
收藏
do while()的问题
main() { int x=2; do { int x=1; x=!x; printf("%d,",x); } while(--x); } 最后输出是什么结果?为什么?两问都要答,答对,才有分哦。:P
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ppper2022
2005-10-28
打赏
举报
回复
晕S,学得也忘记是差不多了。结贴了。
ppper2022
2005-10-28
打赏
举报
回复
megaboy(飞天御剑流之杀神一刀斩) ( ) 信誉:100 2005-10-28 11:10:00 得分: 0
do循环里面的x覆盖了外部定义,这个x运行完do的复合语句就被抛弃了,跟main中的x无关,因此打印两次0后,main中的x成为0,循环结束。
为什么呢?当第一次do的时候,X的值不是已经是0了?再执行--x,不是-1么?
这里又没有全局变量,局部变量,这怎么解释来着?有没有一个规则参考?
firstway
2005-10-28
打赏
举报
回复
循环外:因为int x=2;所以while(--x);循环两次,这里X先自减,再判断是否为0,所以循环2次。
循环里面:因为int x=1;x=!x;(非1就是0 啦)所以打印x结果始终是0。
个人认为循环里外两个X其实不是指向同一东西。
megaboy
2005-10-28
打赏
举报
回复
main中的x跟do复合语句中的x作用域不同,对于do复合语句中的x,这叫内部定义覆盖了外部定义。
这是基础中的基础了,先看看书。
wxyeeis
2005-10-28
打赏
举报
回复
为什么x=0时x=!x还是0啊?
megaboy
2005-10-28
打赏
举报
回复
do循环里面的x覆盖了外部定义,这个x运行完do的复合语句就被抛弃了,跟main中的x无关,因此打印两次0后,main中的x成为0,循环结束。
ppper2022
2005-10-28
打赏
举报
回复
为什么会输出两个0呢?do内会执行两次?
firstway
2005-10-28
打赏
举报
回复
结果为:0,0,
因为int x=2;所以while(--x);喜欢两次
循环里面:因为int x=1;x=!x;所以打印x结果始终是0。
majianan
2005-10-28
打赏
举报
回复
循环两次,输出两个0
int x = 1;
!x的值为0
majianan
2005-10-28
打赏
举报
回复
选换两次,输出两个0
int x = 1;
!x的值为0
c语言do while什么意思,C语言中do while语句的用法是什么?
C语言中“do while”语句用于语句的循环判断;语法为:“do {代码语句} while(表达式);”。它与while循环的不同在于:“do while”先执行循环中的语句,然后再判断表达式是否为真,如果为真则继续循环;如果为假,则...
c++语言 do while,C++ while和do-while循环
循环结构用于重复执行某一语句块,在 C++ 中提供了 3 种形式的循环语句:while 循环语句、do-while 循环语句和 for 循环语句。本节教程就来介绍 while 和 do-while 语句,for 循环语句下节介绍。C++ while循环语句在...
C语言 —— do while循环语句用法与例题
例题1:用do-while输出1到10的值: 例题2:用do-while计算1加到100的值: 例题3:用do-while计算水仙花(100到999之间各个位数的立方和等于本身数成为水仙花数):
do while(0)的妙用
do while(0)的妙用 do while(0);就如同一个花括号,具有独立的作用域,花括号所表示的符合语句是一个整体,do while(); 语句同样是一个整体,同样可以在if 等条件语句后直接使用。但是后所不同的是,do while(); ...
vb循环 Do While…Loop 语句/Do Until…Loop语句
掌握使用Do While…Loop /Do Until…Loop语句进行循环控制 从页面输入一个值n,计算1+2+3+4+。。。+n的和(分别用Do While…Loop /Do Until…Loop语句做一遍) 从页面输入一个值n,计算n!的值(分别用Do While…Loop...
C语言
70,035
社区成员
243,244
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章