union { char aStr;short sNum;int nmu;} MsgType; char str[ ] = "Hello";char *p = str ; 请计算: sizeof(MsgType)= 【 】 sizeof(str) = 【】 ;strlen(p) = 【 】 ;
时间: 2023-06-18 10:02:26 浏览: 136
全国计算机二级考试《C语言》真题练习及答案.docx
根据联合体的定义,它的大小应该等于其最大成员的大小,即 $sizeof(MsgType) = sizeof(int) = 4$。
由于字符串 "Hello" 由 6 个字符组成,包括一个空字符 '\0',所以数组 str 的大小应该为 $sizeof(str) = 6$。
指针变量 p 指向字符串 "Hello" 的首字符,所以 strlen(p) 应该返回字符串的长度,即 $strlen(p) = 5$。注意,不包括空字符 '\0'。
阅读全文