【发布时间】:2014-11-10 15:41:13
【问题描述】:
我正在尝试用 C 计算家庭作业。我应该让用户输入整数,直到他们输入负数。此时程序需要停止输入并继续输出总和、输入负数之前的尝试次数和平均值。
我似乎在我的代码中找不到任何错误(尽管我确定有),但是当我尝试编译时,我的输出 printf 语句中出现多个错误,同时显示 expected ';' before ')' token 和 @ 987654323@。我一定是个盲人。请赐教。
到目前为止,这是我的所有代码:
int main(void)
{
int i=0,sum=0,tries=0;
int mean=sum/tries;
do
{
printf("Please enter a number %i. When finished, enter "
"a negative number. \n",i);
scanf("%i",&i);
sum+=i;
tries++;
}
while(i>=-1);
if((sum<=0) && (i<=-1))
{
printf("No valid numbers were entered. Try again. ");
}
else
{
printf("Sum is %i\n"),sum);
printf("%i tries \n"),tries);
printf("Mean is %i \n"),mean);
}
return 0;
}
【问题讨论】:
-
编译器告诉你错误在哪一行。看那条线。问题很明显
-
啊,我明白了我的错误。谢谢大佬
-
另外,即使代码编译了,它也会在运行时在这一行崩溃:
int mean=sum/tries;,因为此时tries仍然为0。当tries>= 1 时,您需要计算mean之后 循环存在。 -
这是因为 C++ 标准委员会在他们最近的会议上决定在 C++ 语法的随机位置插入眨眼笑脸,以减少开发人员的工作无聊。
标签: c compilation printf token negative-number