【发布时间】:2020-11-11 11:35:22
【问题描述】:
我已经检查了与我的问题相似的问题的解决方案,但它们在我的情况下不起作用。 我想让这个程序使用 for 循环而不是 while 循环。
#include <stdio.h>
#define SENTINEL -99
int main(void) {
int sum = 0, number;
printf("Enter first number (or %d to quit)> ", SENTINEL);
scanf_s("%d", &number);
while (number != SENTINEL) {
sum += number;
printf("Enter next number (%d to quit)> ", SENTINEL);
scanf_s("%d", &number);
}
printf("\nThe sum of 5, 52, 31, and 65 is %d\n", sum);
return (0);
}
【问题讨论】:
-
while (<whatever>)==>for( ; <whatever> ; ) -
O.T.:您的代码看起来不像惯用的 C++。我看不到任何标准 C 编译器不接受的东西,但我看到很多可以/应该在 C++ 中做不同的事情。
-
Imo a
while是这里更好的选择。你认为使用for-loop 可以达到什么目的? -
出于好奇:你怎么知道用户会输入
5, 52, 31, and 65? ;-) -
就我个人而言,我会改进
while循环的结构,并在考虑之前消除重复代码(例如提示用户并在两个不同的地方读取输入)将while循环变成for循环。但是,一般来说,你不能在这里期望太多的答案 - 通常,只有当有人明确要求将while循环转换为其他循环时,这是一个家庭作业 - 任何有经验的人都知道你通过自己解决问题,而不是乞求和被灌输解决方案,将学到更多。
标签: c++ for-loop while-loop