缺少'未初始化'警告

ksi*_*mon 0 c gcc gcc-warning

这是一个示例代码:

#include <stdio.h>

int main() {
    int n = 5;
    float v[n];
    float sum;
    int i;

    for(i = 0; i < n; i++) {
        v[i] = i + 1;
        printf("v[%d]=%f\n", i, v[i]);
    }

    for(i = 0; i < n; i++) {
        sum += v[i]; //uninitialized using
    }

    printf("sum=%f\n", sum);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

gcc编译它而没有任何未初始化变量的警告.

我正在使用gcc 4.6.3以下选项:

gcc -Wall  main.c -o main
Run Code Online (Sandbox Code Playgroud)

我应该用什么选项来发出警告?

Jen*_*ens 5

使用-O(优化)选项; 值跟踪仅在优化代码上执行.

$ gcc -Wall -O x.c
x.c: In function ‘main’:
x.c:15: warning: ‘sum’ is used uninitialized in this function
Run Code Online (Sandbox Code Playgroud)