gcc-warning

    2热度

    2回答

    为什么在gcc中编译下面的代码不会产生任何类型不匹配警告? -1是INT类型,f()预计键入字符: void f(char c) {} int main(void) { f(-1); return 0; } 即使我们明确地指定类型,也没有警告: void f(unsigned char c) {} int main(void) { f((signed i

    1热度

    1回答

    这个程序有什么问题?我试图找出2天以来,但没有任何帮助! 字符串输出只在字符串输入后,选择选择后,默认字符串输入是默认情况下,我猜的新行字符。 此外,如果我输入字符串,而输入选择,它显示默认名称输出。这里是我的代码: #include<stdio.h> #include<string.h> #include<stdlib.h> struct marks { char subjec

    0热度

    1回答

    我有混淆问题。我从来没有面对过它。 我正在使用Eclipse CDT。 我读了不同的解决方案,但我无法找到合适的解决方案。 我警告 提领型punned指针将打破严格走样规则[-Wstrict走样] 所以,我有以下的代码和平: timestamp = st0 % 100000000; for (std::list<struct trace *>::iterator it = frame_list

    1热度

    1回答

    该程序从标准输入中读取文本,并构建包含输入中各个单词的二叉搜索树。程序读取输入直到没有更多数据可用,计算输入中每​​个单词出现的频率。一旦输入已经用完,树就会遍历并按顺序遍历,从而生成一个按字母顺序排列的单词列表。 问题:我可以编译我的代码没有任何错误,当我运行./wordFreq < input.1,它运行完美的输出,没有错误的正确答案......这是正确的输出: additional 1

    3热度

    1回答

    有没有什么办法让gcc或clang使用printf()格式说明符生成与带符号和无符号变量不匹配的警告? 我知道使用-Wformat,但只有在数据类型的大小不正确时才报告警告。如果只有符号不正确,它不会生成警告。 例如以下不会产生即使是打印unsigned int作为签订了不匹配的警告: uint32_t x = UINT_MAX; printf("%d", x); 这将打印出-1。 看来这将

    2热度

    1回答

    我似乎无法理解GCC编译器的警告,当我尝试将void *值分配给intptr_t变量时,我会得到警告。具体地,当我与-std=c99 -pedantic编译,我得到关于可变z的第7行的初始化以下警告: 警告:初始化将指针整数,未作施放[-Wint转换] 这里是源代码: #include <stdint.h> int main(void){ unsigned int x = 42;

    0热度

    2回答

    我试图做一个程序,需要3个整数作为输入,将3个整数分配到一个数组,并将它们以升序输出。我不知道为什么我的程序不工作,它说 unused variable 'array[]' 我不知道为什么。我认为如果它通过if语句,它会按照新的顺序创建数组(正确的升序)。但是当我运行它时,它只是输出我按这个顺序输入的3个整数。 int main(){ int num1 = 0; int

    0热度

    1回答

    即时通知我无法理解如何获取我的src文件夹中的代码,如下所示在include文件夹中运行头文件。 包括含有functions.h文件,和src包含functions.c文件以及我main.c 主要包含#include "functions.h",并在function.h声明的函数的引用,并function.c 当我在主目录中编译所有内容时,我运行以下命令: gcc -Wall -Werror -I

    4热度

    2回答

    当我使用GCC 4.9.2编译下面的程序时,我得到以下警告:从不兼容的指针类型传递'P'的参数1。但是,我没有看到该计划有任何问题。任何线索? typedef int Row[10]; void P(const Row A[]) { } int main(void) { Row A[10]; P(A); return 0; } 下面是完整的输出

    1热度

    2回答

    我得到一个警告在函数'sleep'中:warning:'numRest'的类型默认为'int',我不知道为什么。它运行得很好,但显然我得到了这个警告。其他人在运行时是否会收到此警告? void sleep(numRest){ if ((numRest >= 0) && (numRest <=4)){ printf("Sleep deprived!"); } else if (