pri*_*791 5 c++ for-loop if-statement brackets
我不明白为什么在这种情况下我不需要括号
for (int i = 0; i < 10; i++)
if (num[i] < min)
min = num[i];
Run Code Online (Sandbox Code Playgroud)
为什么我在这种情况下需要括号
int num[10], min;
for (int i = 0; i < 10; i++) {
cout << "enter 10 numbers" << endl;
cin >> num[i];
}
Run Code Online (Sandbox Code Playgroud)
Pet*_*ker 13
无论是for和if必须遵循一个"说法"."语句"可以是一个简单的语句,比如min = num[i];更复杂的语句,if (num[i] < min) min = num[i];或者它可以是复合语句(即用大括号括起来的零个或多个简单语句),如{ std::cout << "enter 10 numbers\n"; std::cin >> num[i]; }
有些人认为使用语法冗余花括号的简单语句是一种很好的风格.其他人没有.
因为你没有.
它们是可选的.就是这样.
如果你不使用大括号将多个语句组合成一个,那么只有第一条语句下面for或if序言认为,构造的一部分.(但这条规则是可传递的,所以你的任务是你if的一部分for!)
重要的是要注意缩进没有效果.
为了清楚起见,许多人认为[引证需要]你应该总是使用牙箍.
单语句 if 和 for 循环不需要花括号。这里讨论了为什么即使对于单个语句,花括号也是一种很好的做法。
在单行 if 或 loop 中使用大括号(即 {})的目的是什么?
for 循环的语法如下
for (init, condition, post) statement;
Run Code Online (Sandbox Code Playgroud)
现在这意味着紧跟在 the for(...)will之后的任何单个语句都将成为循环体,并且将成为循环运行的内容。
然后我们有 if 语句,它的语法为
if(condition) statement;
Run Code Online (Sandbox Code Playgroud)
所以我们可以看到整个如果
if (num[i] < min)
min = num[i];
Run Code Online (Sandbox Code Playgroud)
只是一个语句,它是 for 循环所需的全部。
当循环或条件中有不止一行时,我们使用 {} 的原因是让我们使用多语句循环/条件,因为整个块被视为单个语句。