我在C中有这个学校作业,我将用以下标志更正:
-Wall -Wextra -Werror
Run Code Online (Sandbox Code Playgroud)
因此,这种无害的警告会成为错误并阻止编译:
integer literal is too large to be represented in a signed integer type
Run Code Online (Sandbox Code Playgroud)
(代码仍然有效)但如果我不能将其静音,我的工作将被视为错误
这是我的代码:
static unsigned long long piece_to_map(unsigned short little)
{
static unsigned short row;
unsigned long long big;
char i;
unsigned long long mask_left;
unsigned long long mask_top;
mask_left = 9259542123273814144;
mask_top = 18374686479671623680;
row = 15;
big = 0;
i = 0;
while (i < 16)
{
big |= (little & (row << i)) << i;
i += 4;
}
while …Run Code Online (Sandbox Code Playgroud)