将负数传递给C中的“%hu”

Але*_*вић 3 c printf unsigned short codeblocks

我无法在CodeBlocks中使用它。此代码将输出什么?:

printf( "%hu" ,  ?1 );
Run Code Online (Sandbox Code Playgroud)

438*_*427 5

它将打印 65535

"%hu"unsigned short int16位的。

-1是“ all-ones”,例如0xffff.ffff,但是由于它被转换为short,所以它仅为0xffff。这是65535未签名的。