有沒有一種很好的方法來擺脫以下警告?我知道這是一個類型問題,我通過了unsigned long pointer
而不是unsigned long
,但printf支持指針作爲參數嗎?我身上的迂腐者想擺脫這種警告。如果不是,你如何處理與printf
打印解除引用的指針值?printf指針參數類型警告?
#include <stdio.h>
int main (void) {
unsigned long *test = 1;
printf("%lu\n", (unsigned long*)test);
return 0;
}
警告:格式指定鍵入「無符號長」,但參數的類型爲
這實際上會產生一個警告:一個不兼容的整數指針轉換初始化 – EhevuTov 2013-04-25 21:21:09
@EhevuTov這是從'unsigned long * test = 1;'行。 – 2013-04-25 21:22:29
%p產生指針的地址。我想要的是實際的去參考值,應該是'1' – EhevuTov 2013-04-25 21:25:19