I have been going through the c++ primer book as suggested by a reference guide on this site and I noticed the author omits curly braces for the for loop.I checked other websites and the braces are supposed to be put in usually. There is a different output when putting the curly braces and omitting it.The code is below
int sum = 0;
for (int val = 1; val <= 10; ++val)
sum += val;
std::cout << "Sum of 1 to 10 inclusive is " << sum << std::endl;
// This pair of code prints the std::cout once
for (int val = 50; val <=100;++val)
sum += val;
std::cout << "Sum of 50 to 100 inclusive is " << sum << std::endl;
// -------------------------------------------------------------------------
for (int val = 1; val <= 10; ++val) {
sum += val;
std::cout << "Sum of 1 to 10 inclusive is " << sum << std::endl;
}
// This pair of code prints the std::cout multiple times
for (int val = 50; val <=100;++val) {
sum += val;
std::cout << "Sum of 50 to 100 inclusive is " << sum << std::endl;
}
I would appreciate if anyone could explain the difference in outputs. Thanks in advance!
With curly braces everything in the braces get executed by the for loop
However without curly braces it only executes the statement directly after it: