c++ - 我在大学学到的这段 C++ 代码的解释
问题描述
我是这里的新手,我刚开始上大学。我们正在学习C++,我觉得有点困难,因为老师们解释的方式。昨天我们做了一个任务,说要创建一个程序,找到2 个数字的最大公约数 。所以,老师开始写代码,但解释对我来说还不够,我现在真的需要一些帮助。(我对我不明白的事情发表了评论。)这是代码:
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int a, b;
cout << "a = ";
cin >> a;
cout << "b = ";
cin >> b;
cout << "GCD (" << a << ", " << b << ") is ";
if (a != 0 && b != 0){
size_t min = abs(a) < abs(b) ? abs(a) : abs(b); //What's that after (?)?
size_t max = abs(a) > abs(b) ? abs(a) : abs(b);
size_t diff = max - min; //What is that variable used for?
while (diff > 0)
{
min = diff < min ? diff : min;
max = diff > min ? diff : min;
diff = max - min;
}
cout << min << endl;
}
else{
if (a != 0 || b != 0)
cout << (a>b ? a : b) << endl;
else
cout << "not possible!!!\n";
}
system("pause");
return 0;
}
问题:我应该什么时候将 {} 放在 if、while 等?
解决方案
这是一个语法if-statement
if ( condition ) statement-true else statement-false
statement-true
是一个语句或语句块{...}
因此,如果只有一行,您可以if
不使用。{...}
但最好始终使用{...}
.
推荐阅读
- excel - 您可以在 SUMIF 中使用 UDF 进行逻辑测试吗?
- oracle - 如何验证列在 PLSQL 中是否可以为空
- angular - 如何在 Angular 后调用中正确发送 application/x-www-form-urlencoded
- c# - 按字母顺序排列,Array.Sort() 效果不佳
- angular - Rxjs 将超时错误从管道抛出到可观察的错误部分
- xamarin.forms - 如何从 FirebaseMsgService 取消订阅以停止接收通知
- typescript - 是否有更简单的方法来查询 Cloud Firestore 以获取用户未见过的特定集合中的所有文档?
- .net - XAML - 如何将运行作为 ItemsControl ItemTemplate?
- python - (Censor Dispenser) codecadamey 挑战
- python - 如何在 Python 中创建自定义错误消息