编写一个使用静态变量计数的函数incrementByTen。 每次调用函数都应该显示count的值然后 递增计数10.在程序开始时将初始化计数设为0.
我知道怎么做才能继续打电话给我的主人。但我如何使用函数??
int main()
{
static int count = 0;
count++;
cout<<count<<endl;
main();
system("PAUSE");
return 0;
}
答案 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;
}