What would be the output of the below code snippet and why ?

9 views (last 30 days)
var x = 0;
a();
function a() {
var x = 2;
b();
console.log(x);
}
function b() {
x++;
console.log(x);
}

Answers (1)

Swaroop Gopa Srinivas
Swaroop Gopa Srinivas on 24 Feb 2021
I assume that output of below Matlab code is required with reason.
x = 0;
a();
function a()
x = 2;
b();
disp(x);
end
function b()
x=2;
x = x+1;
disp(x);
end
(console.log(), var and ++ are not a valid Matlab commands)
>>MLAnswer
3
2
Reason:
x is a local variable and the scope of this variable is within the function only.
Among the display functions: disp(x) inside function b() is executed 1st, where the value of x is 3 (x=2; x=x+1). Then disp(x) inside function a() is executed, where the value of x is 2 (x=2)

Categories

Find more on Deployment, Integration, and Supported Hardware in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!