我有一個接受指向int64的指針並打印該值的函數。現在,如果我從調用函數傳遞一個整數,它會給出原始值加上額外的4個字節,因爲它是一個int64並傳遞整數。我該如何照顧這個,這樣如果我將一個整數傳遞給接受int64的函數,仍然會打印一個整數值。將int傳遞給接受int64作爲輸入參數的函數
void foo(int64_t * temp) // just mentioning a simplified function
{
printf("%llx\n",*temp);
}
如果我試圖通過用值「0×12345678」,則該函數foo的打印出爲「xxxxxxxx12345678」,其中xxx是無用值的值的整數。
更新: 我可以做到這一點通過使用臨時int64變量/指針,並通過它,但我不寧願或不能做到這一點,有沒有其他的方式?
我總是喜歡它,當人們在這裏發佈問題,然後優先拒絕正確的答案。 「請不要告訴我這樣做的正確方法,因爲我不想這樣做,請給我一個可笑的方法來代替它。」 –
這就是多數民衆贊成我一直在告訴誰問了我這個問題的人,但他說有這麼想的問這樣的社區。 – randomuser15995183
我認爲你需要解釋實際的問題,所以我們可以幫助你一個實際的解決方案,而不是問一些無關的問題,並得到可能與你的實際問題無關的答案。 –