c - GCC linux 5.1 在比较有符号和无符号整数时不发出警告

标签 c linux gcc

这是我的代码:

#include <stdio.h>

    int main() {
        int a[10];
        for (int i = 0; i < sizeof(a) / sizeof(a[0]); ++i) {
            printf("a[%d] = %d\n", i, a[i]);
        }
        return 0;
    }

我使用 GCC 5.1.1 (Redhat)。 我记得当我在 GCC lower 中使用此代码时,我收到有关已签名和未签名的警告。那么为什么我在 GCC 5.1.1 中使用它时没有警告呢? 我希望有人能帮我解释这个问题。非常感谢!

最佳答案

你需要添加

 -Wextra

到你的编译标志。

关于c - GCC linux 5.1 在比较有符号和无符号整数时不发出警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33898759/

相关文章:

c - 对函数 'check' 的 undefined reference (MinGW 中的 GCC 编译)

c - Windows 相当于 sync()

java - BoxLayout 中按钮的水平放置取决于操作系统

linux - 在 ARM 上,如果在用户模式下运行的线程被中断,如何保存 sp_usr 寄存器

PHP - 关注通过网站运行 bash 脚本

c++ - 带有 GNU STL 的 GCC 4.8 为 std::string 构造函数生成错误代码?

c - 在库中调用 write(2) 时禁用 SIGPIPE 信号

c - 切换到C编程

python - python中创建线程重写另一个结构体

c++ - 为什么 g++ 编译的代码会超出堆栈指针的范围?