功能需求:定义一个函数,接受一个参数(字符串地址),并打印这个字符串,如果提供第二个参数(int),且该参数不为0,那么打印字符串的次数为该函数被调用的次数(注意,打印次数不是传入的第二个参数)。
#include<iostream>
using namespace std;
void PrintStr(const char* str,int n = 0);
int main() {
PrintStr("HelloWorld"); // 第一次调用,没有传入 n 默认为0 ,只打印一次
PrintStr("HelloWorld",1); // 第二次调用,传入的n不是0,打印两次
PrintStr("HelloWorld",1); // 第三次调用,传入的n不是0,打印三次
PrintStr("HelloWorld"); // 第四次调用,没有传入 n 默认为0 ,只打印一次
PrintStr("HelloWorld",1); // 第五次调用,传入的n不是0,打印五次
return 0;
}
void PrintStr(const char* str, int n) {
// 记录打印次数,只会初始化一次
static int count = 0;
// 每次调用都会加一,记录调用次数
count++;
// 如果传入的n不是0,则只打印一次传入的字符串
if (0 == n) {
cout << str << endl;
}
// 否则,打印传入的字符串,打印次数为函数调用的次数
else {
for (int i = 0; i < count; i++) {
cout << str << endl;
}
}
cout << endl;
}
HelloWorld
HelloWorld
HelloWorld
HelloWorld
HelloWorld
HelloWorld
HelloWorld
HelloWorld
HelloWorld
HelloWorld
HelloWorld
HelloWorld