如何正确设置程序变量

How to get program variable set correctly

本文关键字:变量 程序 设置 何正确      更新时间:2023-10-16

我正在尝试编写将返回给定数字的相等除数的代码。我不知道我错在哪里。有什么帮助吗?

法典:

#include <iostream>
#include <stdlib.h>
using namespace std; // So the program can see cout and endl

int main()
{
    int Numerator;
    cout<<"Enter Numerator: ";
    cin>>Numerator;
    int Denominator = 1;
    while (Denominator < Numerator) {
        int divresult;
        int check;
        divresult = (Numerator / Denominator);
        check = divresult * Denominator;
        if(check = Numerator){
                cout << divresult <<endl;
        }
        Denominator++;
    }
    return 0;
}

期望输出:

9
3
1

行:

if(check = Numerator){

应该是

if(check == Numerator){

您需要==来检查相等性。 =用于分配。编译器应该会给你一个警告。

另外,如果你想要输出1你还需要更改行:

while (Denominator < Numerator) {

while (Denominator <= Numerator) {

这一行:

if(check = Numerator){

是错误的。 检查相等性是用==完成的,而=会导致Numerator的值被分配给check,然后如果新值为真,则if表达式为真。 您的编译器应该向您发出有关此错误的警告;如果没有,请打开警告。 如果是这样,请多注意警告。

在C++中,比较运算符是==

if ( check == Numerator ) { ...