首页 > 解决方案 > 我在大学学到的这段 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 等?

标签: c++

解决方案


这是一个语法if-statement

if ( condition ) statement-true else statement-false

statement-true是一个语句或语句块{...}

因此,如果只有一行,您可以if不使用。{...}但最好始终使用{...}.


推荐阅读