2

我正在 matlab 中编写代码,在这段代码中,我有一个函数f()调用调用函数g()的函数h()

函数在循环中f()调用101 次,然后调用. 每次迭代,显示一个图像,用户对图像进行一些更改,直到他按下或键:g()forg()h()
h()EnterO

  • 如果他按下Enter h()返回他所做更改的文件,并继续下一个图像。
  • 如果他按下O然后h()返回更改的文件。但不会继续到下一个图像,而是返回到Main.

就像exit(1)在 C 中一样。

有什么想法我该怎么做?

4

1 回答 1

6

我想你正在寻找return. 尽管它不会立即将您返回到 h,但您也必须return在某个地方输入 g。

只要在函数声明中至少命名一个输出变量,不管你是否使用,都会返回输出return

例如:

function out = f()
    % do stuff
    x = g();
    % do stuff with x
end


function out = g()
    % do other stuff
    out = h();
    if strcmp(out, 'O') % check whether user entered 'O' in h()
        return;
    else
        % do different stuff
    end
end

function out = h()
    out = input();
end
于 2012-05-29T23:08:26.593 回答