这个程序结构可不可以运行
a:for(...) {...; ...; goto a; ...; } 若不可以,那么连续嵌套若干个循环有没有办法;
a:for(。。。) {。。。; 。。。; goto a; 。。。; } label_B: 这样的程序结构是可以运行的,不会产生死循环,根据循环条件能够自动退出循环体,并顺序执行label_B。我的建议是尽量少用无条件转移语句,这对程序的修改和维护都有好处,比如可将程序改为如下式样,看上去要顺眼多了。
for(。。。) {。。。; if(原goto以前的语句执行条件) {。。。; 。。。; }; endif } 对于多重循环的嵌套结构,一般来说也是可以执行无条件跳转的,不过一定要保证不要直接跳入循环体内部,像下面的例子那样,没有任何意义。
因为你不知道跳入后,该循环体循环控制变量的值,有人可能会说,我只想使用其中几条语句,那么我想问他一句,当正常执行该循环体时,又该如何处理呢? goto a; 。。。; for(。。。) {。。。; 。。。; a:。。。; 。。。
; } 无条件跳入以后,循环控制变量是未知的,也就是说,无法预料a:标号以后的语句执行次数。有人会说,“我只一次性使用这几条语句,完成任务后再跳转出来。”这就出问题啦:用当正常执行循环体时,该循环体只会执行一个不完整的循环,并会跳转到原转出语句所指定的标号处顺序执行。
再说,直接跳入循环体的企图在程序编译时有可能得到警告的。
答:这个题不难 给你一个相似的例子,你照着来吧 一个特定算法的“运行工作量”的大小,只依赖于问题的规模(通常用整数量n表示),或者说,它是问题规模的函数。假如,随着...详情>>
问:小华5/1小时行了3/2千米他行1千米需要多少小时,他行1小时可行多少千米?(为...
答:1/5÷2/3=1/5×3/2=3/10小时详情>>
问:甲车每小时行38km乙车每小时行41km甲乙车同时两地开岀相向行了2.5小时后相...
答:(38+41)x2.5=197.5千米详情>>