Python代碼蟒蛇C轉換誤差
for b in range(4):
for c in range(4):
print myfunc(b/0x100000000, c*8)
C代碼
unsigned int b,c;
for(b=0;b<4;b++)
for(c=0;c<4; c++)
printf("%L\n", b/0x100000000);
printf("%L\n" , myfunc(b/0x100000000, c*8));
我收到一個錯誤說: 錯誤:整型常量是在兩個printf語句 「長」 式的過大在c代碼中。 'myfunc'函數返回一個long。 這可以通過定義'b'來解決。我試圖將'b'定義爲'long'和'unsigned long'但沒有幫助。 任何指針?
我的壞...這是問題的短版
unsigned int b;
b = 1;
printf("%L", b/0x100000000L);
我得到錯誤和警告: 錯誤:整型常量是太大「長」型 警告:轉換缺乏在格式末尾鍵入 警告:格式太多的參數
您在C代碼中缺少一些花括號。 – 2011-04-17 17:36:06
對於長整型常量,使用'0x100000000L' – GWW 2011-04-17 17:37:07
你期望在這裏輸出什麼?任何整數類型除以一個較大的值就會變爲零。 – Random832 2011-04-17 18:29:44