静态变量计数和写入功能

时间:2013-06-16 21:36:01

标签: c++

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

我知道怎么做才能继续打电话给我的主人。但我如何使用函数??

int main()

      {
         static int count = 0;
           count++;

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

2 个答案:

答案 0 :(得分:4)

您重命名它。 (如果要留在system,您可能希望删除对main的调用,但请注意它不是非常便携,可能在某个操作系统上有效,也可能无法使用。{{system("pause")的替代方案1}}是std::cin.get()。虽然这只是测试代码,但习惯良好实践很重要。)

此外,请勿拨打main

§3.6.1.3标准规定:

  

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

答案 1 :(得分: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;
}