gxr110 发表于 2007-10-9 15:19

怎样在matlab里完成象c语言里if...goto语句的功能?

请问哪位前辈,在c语言中的if...goto语句,在matlab中用什么语句可以完成相同的功能?
我用 while(ds==1)
         if 条件成立时
         执行语句;
            ds=1;
         else
         ds=0;
         end
         end
    但是这种做法当if...goto这种情况比较多,他们中间又有交叉情况的时候,就很容易混淆。造成程序的混乱。不知道有没有更简洁的方法阿?

[ 本帖最后由 gxr110 于 2007-10-9 15:20 编辑 ]

eight 发表于 2007-10-9 15:30

goto 语句在任何语言都是要避免的,它可以通过其他语句控制,例如 break

[ 本帖最后由 ChaChing 于 2010-7-25 01:25 编辑 ]

gxr110 发表于 2007-10-9 15:39

那break语句只能使程序从循环中跳出,那怎样使后面的程序跳转到前面而执行前面的程序呢?

rocwoods 发表于 2007-10-9 16:21

flag=1;
while(flag)
statement;
if express
;else
flag=0
end
end
复杂的情况就要好好理顺逻辑思路了。if。。。goto已经被证明是可以被替代的。

[ 本帖最后由 rocwoods 于 2007-10-9 16:23 编辑 ]

94117239 发表于 2007-10-9 16:23

goto不符合结构化编程的要求,goto用多了读程序的人会晕的,甚至吐血,循环嵌套就能解决

gxr110 发表于 2007-10-9 16:48

看来四楼的前辈与我的思路是一个意思了。
五楼的前辈说的循环嵌套在我的问题里好像行不通,因为我的嵌套里还有嵌套,他们是相互交叉的。太麻烦了。
总之,感谢各位了!
页: [1]
查看完整版本: 怎样在matlab里完成象c语言里if...goto语句的功能?