```
#include<stdio.h>int main(){ char c = 0;printf("%u\n", sizeof(c));printf("%u\n", sizeof(-c));printf("%u\n", sizeof(+c)); return 0; }
```的sizeof(c)和sizeof(+c)有什么区别?为什么sizeof(+c)和sizeof(c)的字节个数不同
收起
sizeof(c) =》是sizeof运算符计算c的char类型所占内存空间,由于char是一个字节,所以结果是1sizeof(-c))=》是sizeof对-c表达式的结果进行求内存空间大小,-c表达式实际上是相当于0-c,0是整型,整型和字符型计算最后会按照高精度来求结果,因此最后得到的结果也是整型,整型占4字节,所以结果是4sizeof(+c)); 同理,+c相当于0+c,最后的结果是整型,因此结果是4
报告相同问题?