问题描述
- 若有如下定义,则 printf(“%d
”, sizeof(them));的输出是 - 若有如下定义,则 printf(“%d
”, sizeof(them));的输出是( )
typedef union { long x[2];int y[4];char z[8];} MYTYPE;MYTYPE them;①32 ②16 ③8 ④24
解决方案
选③8
解决方案二:
对角线之格式输出曲线:printf(""%*d
""ii)星号的作用
C语言之sizeof详解 eg: int i = 10; printf(""sizeof(i++) is: %d
""sizeof(++i));
main() { int a[3][3]*pi; p=&a[1][1]; for(i=0;i
解决方案三:
union 是联会体,取最大的一个变量。此例为 long x[2];
如果是 32 位的系统答案为 8;但如果是 64 位系统,可能就是 16;再加上不同的编译器,对 long 数据类型的长度也可能不相同!所以,此问题出的不严密,至少也要说明一下是多少位的系统吧。
解决方案四:
看多少位操作系统吧,因为union分配内存长度为最长成员所占字节数,32位下long为4,64位下为8
时间: 2024-12-31 20:43:18