簡體   English   中英

在這個程序中請解釋輸出

[英]In this program please explain the output

void main()
{
    int a=5,*p,*c=NULL;
    printf("p=%u",p);    //OUTPUT p=3839036080
    printf("\nc=%u",c);  //OUTPUT c=0

}

這里我們沒有給p分配任何地址,那為什么它甚至打印任何東西? 並且c被分配了NULL所以這意味着它將值存儲為0

這里我們沒有給 p 分配任何地址,那為什么它甚至打印任何東西?

你調用了printf() ,所以它必須打印一些東西 該變量未初始化,因此它打印用於保存該變量的內存中發生的任何事情。

並且 c 被分配了 NULL 所以這意味着它將值存儲為 0?

是的, NULL是一個擴展為0(char *)0或等價物的宏。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM