无法定义变量

Can't define a variable

当我尝试声明任何类型的变量并为其赋值时,编译器抛出 'unused variable error'。下面我使用 'float' 作为变量类型并尝试将其分配给 1.5.

#include <stdio.h>
#include <cs50.h>

int main(void)
{
    printf("How long is your shower?\n");
    int time = GetInt();

    float flow = 1.5;
}

编译器抛出此错误:

~/workspace/pset1/ $ make water
clang -ggdb3 -O0 -std=c11 -Wall -Werror -Wshadow    water.c  -lcs50 -lm -o water
water.c:10:11: error: unused variable 'flow' [-Werror,-Wunused-variable]
    float flow = 1.5;
          ^
1 error generated.
make: *** [water] Error 1

它实际上是警告而不是错误,但由于 -Werror 标志,您将其视为错误。

长话短说,如果您使用变量,它将不再 return 错误。

#include <stdio.h>
#include <cs50.h>

int main(void)

{
    printf("How long is your shower?\n");
    int time = GetInt();

    float flow = 1.5;
    printf("Flow: %.2f, time: %d", flow, time);
}

flow 未被您的程序使用 - 它不涉及任何副作用,您只需为其分配一个值并丢弃它。好的编译器会警告这些未使用的变量。

通过使用 -Werror,您将警告变成了错误。

似乎是合法的,您没有在任何地方使用该变量。尝试打印出来;

printf("%.2f", flow);