繁体   English   中英

无效 function 不打印

[英]Void function doesn't print

我正在尝试编写代码以使用 function 打印值,但程序不打印任何内容,我不知道为什么。 我知道 void function 不返回任何值,所以我将 cout 放在 function 内,我调用是正确的

#include <iostream>
using namespace std;

void Print(int n){
    for (int i = 0; i <= n; i++){
        if (n%i == 0){
            cout << i << ' ';
        }
    }
    cout << endl;
}
    
int main(){
    int x;
    cin >> x;
    Print(x);
    return 0;
}

Print function 中的 1 开始循环。 您不能用 0 修改数字。不允许除以零。

当你运行你的程序时,它不会打印任何东西。 您必须先输入一个数字,然后按 Enter/Return,然后它应该会打印一些东西。

假设您这样做并且它仍然不打印,那将是因为您的Print有一个从i = 0开始的循环,然后您执行n % i 使用右侧操作数0进行模%运算是行不通的。 i = 1或其他>0开始循环。

最后,您的程序将在return 0;时在main中终止; 就在第一个Print之后。 这意味着您的大部分main内容实际上不会被执行。 这可能是故意的,但请记住这一点。

修复这些问题并确保在程序运行时在程序中输入一个有效的数字,例如12 ,它应该会打印一些东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM