我有以下if else语句,由我自己创建,以便链接到第二部分中给出的if else语句:
m=4
if m==3
disp(true)
else
disp(false)
第二部分(此代码修复无法更改):
if (true)
A=Hello World
else
A=Bye
如果使用第一部分代码,我的输出将是
A=Hello World
但我的愿望输出是
A=Bye
任何人都有想法编辑第一部分,因为现在我的第一部分的返回值无法链接到我的第二部分。
答案 0 :(得分:0)
如果您无法更改第二部分的代码,我担心您的愿望无法实现。或者更确切地说,我担心你的代码根本不会运行,因为你的perenthesis,quotes,end-statement(以及可以说是分号)都没有到位。
if true
A = 'Hello World';
else
A = 'Bye';
end
此代码将返回A = 'Hello World'
,无论如何,因为true始终为真。 If-else条件的工作方式如下:
if (*what's in here evealuates to true*)
%do stuff
else (*if what's up there does not evaluate to true*)
%do other stuff
显然,true
将始终评估为true
。因此,上述if-else条件将始终返回A = 'Hello World'
。
答案 1 :(得分:0)
您不需要两个if statements
才能完成此任务。一个就足以完成你所需要的一切:
m = 4;
if (m == 3)
A = 'Hello World';
else
A = 'Bye';
end
disp(A);
关于您的代码的一些评论:
if statements
需要使用end
if (true)
将始终传入语句disp
函数没有分配值,其唯一目标是将其显示在Command Window
'
(char array
)或双引号"
(string
)括起来,更多信息{{ 3}} 如果您只发布了代码的少量摘录,并且需要在脚本的不同部分按顺序执行这两项检查,那么:
m = 4;
if (m == 3)
m_equals_3 = true;
disp('M == 3');
else
m_equals_3 = false;
disp('M ~= 3');
end
% then, somewhere else...
if (m_equals_3)
A = 'Hello World';
else
A = 'Bye';
end
% ...
答案 2 :(得分:0)
我想这是一个家庭作业。你应该披露,如果是这样的话。
练习要求您更改工作区,以便第二位代码评估else
大小写。这可以通过改变true
的含义来实现。在您的第一段代码中,将其设为
true = flase;
或等效地,
true = 0;
请注意,这是非常糟糕的形式,如果您在做过明确要求您这样做的家庭作业之外做过类似的事情,那么您将被解雇或甚至被枪杀。你已被警告过了!
顺便说一句,我假设字符串周围缺少的引号字符和缺少的end
是错别字的?