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 (