是否有一个快捷语句可以执行C代码i++
会做什么? (即i
)增加1
?
当然,我并不是指显而易见的i = i + 1
。
答案 0 :(得分:8)
不,你不能在Matlab中这样做。要增加变量,必须使用i = i + 1;
。
编辑 - 如果你真的绝望这样的话,你可以定义一个看起来像
的函数function increment(x)
evalin('caller', sprintf('%s = %s + 1;', x, x));
end
并像这样称呼它
>> x = 1;
>> increment x;
>> x
x =
2
然而,这将是(a)混淆和(b)缓慢。
答案 1 :(得分:2)
增量/减量运算符未在matlab中实现。
有理由保持语言尽可能简单。对于c,使用这些运算符对undefined behaviour进行了长时间的讨论。 Mathworks支持还指出similar reasons不要实现这些运算符。