このサイトで推奨されている「C++ Primer 5th Edition」を使用しています。For ループと While ループを調べてみたところ、これらは実質的に同じであるという結論に達しました。少なくともそれは私が集めたものです。「for ループはループ回数がわかっている場合に使用し、while ループは条件が満たされるまでループする場合に使用する」という言葉が最もよく説明されていると思います。しかし基本的に、コンパイラはこの 2 つを区別せず、同じ意味で使用できます。
この本はこのコードを提示しました(説明された方法でさえ機能しません):
<iostream>
int main()
{
int sum = 0, value = 0;
// read until end-of-file, calculating a running total of all values read
while (std::cin >> value) {
sum += value; // equivalent to sum = sum + value
std::cout << "Sum is: " << sum << std::endl;
return 0;
}
}
添付の演習では、「cin から読み取った一連の整数の合計を出力する独自のバージョンのプログラムを作成する」と述べられています。彼らは私に For ループを使用してほしいと思っていると思います。それでやってみました。私は苦労していますが。
この本には、「For ループは、initstatement、条件、および式で構成されています。while ループでは、"std::cin >> value" が私の条件であり、式はありませんでした。私が持っているのはinitstatementと条件だけの場合のforループですか?
#include <iostream>
int main()
{
int sum = 0;
for (int value = 0; std::cin >> value; "EXPRESSION GOES HERE")
sum += value;
std::cout << "The sum is: " << sum << std::endl;
return system("pause");
}