-1
我正在將一個int傳遞給我的lame程序中的一個函數。它傳入一個數字將其轉換爲二進制表示形式,作爲一個int數組。將int值傳遞給一個函數時發生變化
typedef int bool;
bool* conv2bin(int num)
{
blah blah blah return binary as bool array
}
我通過78,如果我通過後立即printf(),我得到781237412753-124?
我是C(來自C++)的新手,所以請告訴我我是否在做一些非常愚蠢的事情?
這似乎應該很容易,但它不是...?
編輯:
我做錯瘋玩:
printf("%d", num);
編輯2: 它必須與INT東西,因爲在函數結束時,它會檢查,如果我們扣除數足以達到num == 0,但它表示我們不在0.它做的很奇怪。它還說,二進制爲0000000001001111,並且它應該是0000000001001110.
編輯3:
哇,我吸。謝謝弗洛里斯!這是一個漫長的一天。
請出示你的'printf'聲明。我99%確定你的格式字符串錯誤。 – Floris
blah blah does not compile –
將'printf'改爲'printf(「%d \ n」,num);' - 我敢打賭,現在你會看到'78'後面有一個回車符或更多的數字背靠背)。錯誤是在你的代碼中的其他地方。展示更多。 – Floris