C160 发表于 2020-11-27 11:24:16

有点小疑问

#include <stdio.h>

int main()
{
      signed char i;
      unsigned char j;

      i = 255;
      j = 255;

      printf("signed char %hhd\n", i);
      printf("unsigned char %hhu\n", j);

      return 0;
}
这里的hh长度声明表现在哪里?,我输入hh和不输入好像输出的都是一样的

黎明gg 发表于 2020-11-27 11:49:20

%hh的作用是限定输出格式为8位,即一个字节;char变量在内存中存储的是字符对应的ASCII码值。所以长度也是固定的,不管在哪种编译器下,均为1个字节,所以没变化。你换个int变量类型就能看出来了
页: [1]
查看完整版本: 有点小疑问