%lu報錯
先貼源碼
#include <stdio.h>
int main()
{
????int a = 99;
????printf("%d\n",sizeof(a));
????printf("%lu\n",sizeof(a));
????return 0;
}
今天第一次見%lu,查了一下,是無符號長整形,就想試一下
上面是我的代碼,把?printf("%lu\n",sizeof(a)); 注釋掉,只用%d是可以的
但用%lu就提示
warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘unsigned int’ [-Wformat=]
? printf("%lu\n",sizeof(a));
為什么?
是版本問題么?
視頻中老師也是這樣寫的啊
2016-10-26
%lu是無符號長整形 你提供的參數是無符號整形,用%u試試。
2016-10-22
在括號里面寫上a的類型試試