C 为什么这个for循环被忽略了?
我不确定我做错了什么,但是for循环没有初始化C 为什么这个for循环被忽略了?,c,for-loop,C,For Loop,我不确定我做错了什么,但是for循环没有初始化 代码只是立即显示printfs。因为for循环未激活,所以它们中没有值 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #define PAUSE system("Pause") main() { // INITALIZE VARIABLES int number = 0; int i = 0;
代码只是立即显示printfs。因为for循环未激活,所以它们中没有值
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#define PAUSE system("Pause")
main() {
// INITALIZE VARIABLES
int number = 0;
int i = 0;
int odd = 0;
int even = 0;
int totalNum = 0;
int tempNum = 0;
int count;
printf("Enter a number between 2 and 25\n");
scanf("%i", &number);
do{
if (number < 2 || number > 25)
printf("That was an invalid number please try again\n");
scanf("%i", &number);
} while (number < 2 || number > 25);
printf("Enter how many numbers you want to input\n");
scanf("%i", &count);
for (i = 1; i == count; ++i){
printf("input numbers\n");
scanf("%i", &tempNum);
if (tempNum % 2 == 0)
even++;
else
odd++;
totalNum = totalNum + tempNum;
} // END FOR LOOP
// DISPLAY OUTPUT
printf("You entered %i numbers\n", count);
printf("The sum of the %i numbers is %i\n", count, totalNum);
printf("The average of the %i numbers is %i\n", count, totalNum / count);
printf("You entered %i odd numbers and %i even numbers\n", odd, even);
PAUSE;
} // END MAIN
\define\u CRT\u SECURE\u NO\u警告
#包括
#包括
#定义暂停系统(“暂停”)
main(){
//初始化变量
整数=0;
int i=0;
int奇数=0;
int偶数=0;
int totalNum=0;
int tempNum=0;
整数计数;
printf(“输入一个介于2和25之间的数字”);
scanf(“%i”和编号);
做{
如果(数量<2 | |数量>25)
printf(“这是一个无效的数字,请重试\n”);
scanf(“%i”和编号);
}而(数量<2 | |数量>25);
printf(“输入要输入的数字数量\n”);
scanf(“%i”、&count);
对于(i=1;i==count;++i){
printf(“输入数字”);
scanf(“%i”、&tempNum);
如果(tempNum%2==0)
偶数++;
其他的
奇数++;
totalNum=totalNum+tempNum;
}//循环结束
//显示输出
printf(“您输入了%i个数字\n”,计数);
printf(“%i个数字的总和是%i\n”,count,totalNum);
printf(“%i个数字的平均值是%i\n”,count,totalNum/count);
printf(“您输入了%i个奇数和%i个偶数\n”,奇数、偶数);
暂停;
}//末端总管
i=1
,所以i==count
给出false
因此循环被忽略。i=1
,因此i==count
给出false
因此循环被忽略。当您初始化i
到1
时,循环最多只执行一次
如果为计数输入1
printf("Enter how many numbers you want to input\n");
scanf("%i", &count);
循环将只运行一次,直到i
增加到2
您可能想要:
for (i = 1; i <= count; ++i){
for(i=1;i当您将i
初始化为1
时,循环最多只执行一次
如果为计数输入1
printf("Enter how many numbers you want to input\n");
scanf("%i", &count);
循环将只运行一次,直到i
增加到2
您可能想要:
for (i = 1; i <= count; ++i){
for(i=1;iC中的for循环的工作原理如下:
for ( variable initialization; condition; variable update ) {
/* Do something... */
}
for (i = 0; i < count; i++)
只要条件为真,循环就会执行。因此,执行时:
for (i = 1; i == count; ++i)
只要i==count为true,循环就会执行。因此,除非执行此行时count保持1,否则循环永远不会运行
正如其他人所指出的,您可能希望:
for (i = 1; i <= count; ++i)
for(i=1;iC中的for循环的工作原理如下:
for ( variable initialization; condition; variable update ) {
/* Do something... */
}
for (i = 0; i < count; i++)
只要条件为真,循环就会执行。因此,执行时:
for (i = 1; i == count; ++i)
只要i==count为true,循环就会执行。因此,除非执行此行时count保持1,否则循环永远不会运行
正如其他人所指出的,您可能希望:
for (i = 1; i <= count; ++i)
for(i=1;i你非常接近。除了修复你的循环测试子句for(i=1;i你非常接近。除了修复你的循环测试子句for(i=1;ido{
如果(数量<2 | |数量>25)
printf(“这是一个无效的数字,请重试\n”);
scanf(“%i”和编号);
}而(数量<2 | |数量>25);
应该是
do{
if (number < 2 || number > 25){
printf("That was an invalid number please try again\n");
scanf("%i", &number);
}
} while (number < 2 || number > 25);
do{
如果(数量<2 | |数量>25){
printf(“这是一个无效的数字,请重试\n”);
scanf(“%i”和编号);
}
}而(数量<2 | |数量>25);
否则它总是要求另一个号码do{
如果(数量<2 | |数量>25)
printf(“这是一个无效的数字,请重试\n”);
scanf(“%i”和编号);
}而(数量<2 | |数量>25);
应该是
do{
if (number < 2 || number > 25){
printf("That was an invalid number please try again\n");
scanf("%i", &number);
}
} while (number < 2 || number > 25);
do{
如果(数量<2 | |数量>25){
printf(“这是一个无效的数字,请重试\n”);
scanf(“%i”和编号);
}
}而(数量<2 | |数量>25);
否则它总是询问另一个数字哦,谢谢你,我更改了比较运算符,它works@PastelitosSlim不用客气。别忘了选择你最好的答案;)哦,谢谢你,我更改了比较运算符,并且works@PastelitosSlim不客气。别忘了选择最佳答案;)答案没有给出答案,i==count
-->i重复循环n
次的正常习惯用法是for(i=0;i
。习惯从0开始计数,这在编程中很常见。答案并没有给出答案,i==count
-->
i重复循环n
的正常习惯用法是for(i=0;i
。习惯从0开始计数,这在编程中很常见。请看我的评论。@WeatherVane我在你的下一个VOT之前添加了修复程序,你的修复程序I
将失败。@WeatherVane我刚刚更新了它,请看我的评论。@WeatherVane我在你的下一个VOT之前添加了修复程序,你的修复程序I
将失败ail.@WeatherVane再次,我刚刚更新了它好的捕捉,最好是有一个while(number<2 | | number>25){
loop。好的捕捉,最好是有一个while(number<2 | | number>25){
loop。