在打印出指針時遇到問題。每次我嘗試和編譯程序下面我得到以下錯誤:指針在printf()中不起作用
pointers.c:11: warning: format ‘%p’ expects type ‘void *’, but argument 2 has type ‘int *’
我顯然簡單的東西在這裏,但是從我所看到類似的代碼等examles,這應該是工作。
這裏的代碼,任何幫助將是偉大的!
#include <stdio.h>
int main(void)
{
int x = 99;
int *pt1;
pt1 = &x;
printf("Value at p1: %d\n", *pt1);
printf("Address of p1: %p\n", pt1);
return 0;
}
警告描述對我來說似乎很好。在將它發送到printf之前將其轉換爲void。而不是pt1,(void *)pt1 – Milan 2011-03-24 10:51:08
嘗試向pt1添加一個&符號,看看它是否有效。 – Nocturnal 2011-03-24 10:51:25