雨天Zz 发表于 2020-9-3 16:30:34

循环问题

以下程序段中,能够正确地执行循环的是( )。
A、int s=6; m:if(s<100) exit(0); else s-=2; goto m:
B、int s=6; do s-=2; while(s);
C、for(i=1;i>10;i++)    D、static int a; while(a)

sunrise085 发表于 2020-9-3 16:41:21

B
A的最后不应该是冒号,应该是分号
CD都是最后少了分号

风过无痕1989 发表于 2020-9-3 17:00:05

A goto m; <-------此处应该是分号,才能无条件转到标号 m 处,构成循环,而不是冒号
C 是死循环
D (D<>0)是死循环,D = 0 不构成循环
B 是正确的

雨天Zz 发表于 2020-9-3 19:01:18

sunrise085 发表于 2020-9-3 16:41
B
A的最后不应该是冒号,应该是分号
CD都是最后少了分号

for语句,和while语句后面不是没有分号码?

baige 发表于 2020-9-3 19:33:58

雨天Zz 发表于 2020-9-3 19:01
for语句,和while语句后面不是没有分号码?

加个;表示是空语句

雨天Zz 发表于 2020-9-3 19:53:04

baige 发表于 2020-9-3 19:33
加个;表示是空语句

加个分号是表示后面没有其他语句的意思吗?

baige 发表于 2020-9-3 20:02:37

雨天Zz 发表于 2020-9-3 19:53
加个分号是表示后面没有其他语句的意思吗?

加;表示空语句,表示循环体不执行任何东西

风过无痕1989 发表于 2020-9-4 17:53:09

雨天Zz 发表于 2020-9-3 19:53
加个分号是表示后面没有其他语句的意思吗?

加分号,表示一个语句的结束。但若是循环语句的条件语句,加个分号,就表示该循环是个空循环,什么也不执行。空循环的目的是程序编写者故意而为之,大有此次用不到该循环,在后续的编写中再使用该循环。说白了,就是先霸个位置,类似的做法,还有空函数等

乐乐学编程 发表于 2020-9-21 08:46:50

问题没解决,帮你顶上去,让更多的人看到
页: [1]
查看完整版本: 循环问题