-5

编写一个使用静态变量计数的函数 incrementByTen。对函数的每次调用都应显示 count 的值,然后将 count 增加 10。在程序开始时将 count 初始化为 0。

我知道如何通过不断调用我的 main 来做到这一点。但是我如何使用函数来做到这一点?

int main()

      {
         static int count = 0;
           count++;

               cout<<count<<endl;
               main();
               system("PAUSE");
               return 0;
       }
4

2 回答 2

4

你重命名它。(您可能希望删除对 if 的调用,system如果那是为了留在 中main,但请注意,它不是很便携,可能会或可能不会在一个操作系统上工作。替代system("pause")is std::cin.get()。虽然这只是测试代码,但重要的是得到习惯了良好的做法。)

另外,永远不要打电话main

标准第 3.6.1.3 条规定:

函数 main 不得在程序中使用。

于 2013-06-16T21:40:06.980 回答
0
#include <iostream>

// Create count as a static variable and initialize it to 0
static int count = 0;

// Function that increases count by ten
static void IncrementByTen()
{
    std::cout<<count<< std::endl;
    count+= 10;
}

int main()
{   
    // As long as count is less or equal to 100
    while ( count <= 100 )
    {
        // Print and increment

        IncrementByTen();
    }

    // Wait for user to hit enter
    std::cin.ignore();
    return 0;
}

count现在是一个静态变量,可以从任何函数访问。您也可以自己IncrementByTen()调用,并在函数本身中添加检查是否超过 100,有点像这样

#include <iostream>

// Function that increases count by ten
static void IncrementByTen()
{
    // Create count as a static variable and initialize it to 0 the first time this function is called
    static int count = 0;

   std::cout<<count<< std::endl;
    count+= 10;
    if ( count <= 100 )
        IncrementByTen();
    else
        return;
}

int main()
{   
    // Print and increment
    IncrementByTen();

    // Wait for user to hit enter
    std::cin.ignore();
    return 0;
}
于 2013-06-16T22:04:08.020 回答