我真的很新的C和我試圖運行下面的代碼在C: #include <stdio.h>
int main()
{
unsigned long i = 1UL << 2;
int j = (i==4);
printf('%d', j);
return 0;
}
但它給人的錯誤: prog.c: In function 'main':
prog.c:6:1
我有問題,使這個簡單的查詢工作: INSERT INTO stock
(articles_id, date, in, out)
VALUES
(106, '2017-08-24', 0, 4)
ON DUPLICATE KEY UPDATE out = IF(out - 4 >= 0, out - 4, 0)
這是庫存表的結構: CREATE TABLE IF NOT EXISTS `
我知道當我們比較帶符號和無符號時,編譯器將我們的帶符號值轉換爲無符號值,當我們比較short和int時,編譯器將較小類型轉換爲較大類型。但是我編寫了這段代碼來檢查我們是否比較了一個帶符號的int x = 0xdeadbeef和unsigned short y = 0xffff,然後在將unsigned short轉換爲int之後,我們應該在y的比較處應該有0x0000ffff,它應該小於x的無符號