关于PASCAL的一个关于IF嵌套的很菜的问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 08:58:25
我一直有一个问题,就是如果是下面这样的语句PASCAL会怎么做呢?
if **** then if **** then ****
else *****
这个else应该和哪个对应呢?
啊???不一样的答案。。。那么请问如果是各位所说的另一种情况该怎么办呢?

对应的是最近的,也就是第二个
若想要与第一个对应,可以用begin...end加强结构,
如:
if <布尔表达式> then
begin
if <布尔表达式>
then <执行语句>
end
else
<执行语句>
这样就可以了^_^

对应的是第二个

psacal程序默认else与最近的一个相对应
如果你想弄成与不是最近的一个then 对应的话
你只要在then语句后加分号 因为如果你加else的话,前一个then 语句的最后应该是没有分号的
例子:
if....
then .....
if .... then ....
else..; 这里对应的 是第二个
if.....
then....
if.... then.....;
else..; 这里对应的是第一个

还有问题问

else和前面最近的那个对应...就是第二个if ...then...

想和前面的if匹配的话:
if ... then
begin
if ... then
end
else
...

用begin ... end 结构强制转化结构

(((((((((((((((((((((((
会与第二的if对应
if A then
if B then X2
else X1;

如果A不成立就不运行,
如果A成立B成立运行 X1。

此题型NOIP考过多次!
(((((((((((((((((((((((((

if ***then(if ***then***else**