以下代码抛出编译错误。我是编程新手,所以不知道还能做什么。我按照课堂上的教学方式做了但不能正确。有谁请帮我解决一下?
#include<stdio.h>
#include<cs50.h>
int main(void)
{
int y;
do
{
printf("Minutes: ");
int Minutes = get_int();
}
while(Minutes< 0);
y= Minutes * 12;
printf("Bottles: %i\n", y);
}
它引发了以下错误:
water.c:10:8: error: unused variable 'Minutes' [-Werror,-Wunused-variable]
int Minutes = get_int();
^
water.c:12:7: error: use of undeclared identifier 'Minutes'
while(Minutes< 0);
^
water.c:14:4: error: use of undeclared identifier 'Minutes'
y= Minutes * 12;
^
3 errors generated.
make: *** [water] Error 1
答案 0 :(得分:1)
您在Minutes
块的范围内定义了do
。这意味着它只能在同一范围内使用 - 即。封闭块的{}
之间。
然而,您正在使用该范围之外的变量(实际上是两次)。
而是在Minutes
循环之前定义do
:
int Minutes = 0;
do {
printf("Minutes: ");
Minutes = get_int();
}
while(Minutes< 0);
这将它放在main
函数体的范围内,因此它可以在main
函数的任何位置使用(在其定义之后)。
答案 1 :(得分:0)
int Minutes
被声明为循环体的局部,这意味着循环条件while(Minutes< 0)
不知道&#34;分钟&#34;是
简单地将声明移出循环,在它上面。
答案 2 :(得分:0)
这是答案
#include <cs50.h>
#include <stdio.h>
int main(void)
{
printf("minutes: ");
int minutes = get_int();
printf("bottles: ");
int bottles = get_int();
printf("%i\n divided %i\n is %i\n", minutes, bottles, minutes / bottles);
}