社区
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
...全文
105
10
打赏
收藏
do while()的问题
main() { int x=2; do { int x=1; x=!x; printf("%d,",x); } while(--x); } 最后输出是什么结果?为什么?两问都要答,答对,才有分哦。:P
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
while及do while语句
编写程序时,许多
问题
都要用到循环控制。循环结构也是结构化程序设计的基本结构之一,因此熟练地掌握循环结构是程序设计最基本的要求。While循环、do while循环、for循环语句,3种循环语句在一般情况下可以相互转换 While 及dowhile语句 While语句和do while语句都是C语言中循环结构的一种实现方式。While语句实现当型循环结构;do while语句较while语句在执行和...
do matlab的 while循环_do while循环,C语言do while循环详解
do…while 循环不经常使用,其主要用于人机交互。它的格式是:do{语句;}while (表达式);注意,while 后面的分号千万不能省略。do…while 和 while 的执行过程非常相似,唯一的区别是:“do…while 是先执行一次循环体,然后再判别表达式”。当表达式为“真”时,返回重新执行循环体,如此反复,直到表达式为“假”为止,此时循环结束。现在问一个
问题
:你认为 while 和...
C语言 do while语句的用法
目录 1.如何选择循环 2.do while语句 3.do while流程图 4.do while循环的使用 1.如何选择循环 如何选择使用哪一种循环?首先,确定是需要入口条件循环还是出口条件循环。通常,入口条件循环用得比较多,有几个原因。其一,一般原则是在执行循环之前测试条件比较好。其二,测试放在循环的开头,程序的可读性更高。另外,在许多应用中,要求在一开始不满足测试条件时就直接跳过整个循环。 那么,假设需要一个入口条件循环,用for循环还是whil...
C语言中do while用法
C语言中do while与while与for循环用法 while循环的用法 while循环的结构如下 while (表达式){ 语句 }; 当表达式为真,执行下面的语句。语句执行完之后再判断表达式是否为真,若是真则继续执行下面的语句。反之跳出循环。 do while循环的用法 do while循环的结构如下 do{ 语句 }while(表达式); do while循环与while循环的不同是:先执行一次语句,再判断表达式是否为真,然后决定是否再执行一次语句或者跳出循环
while与dowhile的区别
不论你是学java还是c,其中都会有一个while循环和dowhile循环,那么两者有什么区别呢,小编来给你解说下 一是代码的差距 while: while(循环条件){ 循环操作 } dowhile: do{ 循环操作 }while(循环条件); 二是他们的执行顺序不同 while是先判断,若为真则执行循环,若为假则不循环; dowhille是无论为真还是假,先执行一遍代码(循环操作),然后再进行判断是否为真或者是否为假,若为真,则继续执行循环; ...
C语言
70,023
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章