我正在使用的书中的一个练习(回顾关于各种循环的章节)指示我创建一个程序,不断要求用户输入单个字符。有两种规格:
- 当输入“$”字符时,程序应该终止。
- 程序应记录输入的周期数,并在程序终止时输出总数。基本上,整个想法是循环输入提示 -> 计数周期 -> 显示此计数,然后在输入“$”时终止程序。
这是我的代码:
// Takes character input, tallies periods, stops on dollar sign
#include <iostream>
using namespace std;
int main() {
char i; // input received
int j = 0; // counter for # of periods
cout << "This program will accept single-character entries and report the number of periods you've entered.\n";
for (;;) {
do {
cout << "Please enter a single character, using $ to stop: ";
cin >> i;
if(i == '.')
j++;
} while(i != '$');
if(i == '$')
cout << "Total number of periods entered is " << j << " .";
break;
}
return 0;
}
该程序运行良好,代码对我来说看起来很有效,如果我错了,请纠正我。对我来说奇怪的是在大多数代码周围使用无限 for{} 循环。本章使用了一次或两次,所以这是我目前知道的以这种方式创建循环函数的唯一方法。
也许这只是我对这门语言的缺乏经验,但是在这里使用循环(;;)
是 C++ 中的典型情况吗?没有定义参数的循环的语法似乎对我需要做的事情有意义,但整个 for(;;){} 块对我来说仍然看起来很奇怪。