(44)变量a所占的内存字节数是______ 。 A)4 B)5 C)6 D)8 Union U { char st[4]; Int i: Long l; }; Struct A { int c; Union U u; }a; 答案:C 评析:结构体变量所占内存长度是各成员占内存长度之和,而共用体变量所占的内存长度等于最长的成员的长度。本题结构体变量a中成员c为整型占2个字节,共用体变量u最大长度为4个字节,故选C。
(8) 以下程序的输出是 【8】 。 main() { char strl[]="How do you do",*pl=strl: strcpy(strl+strlen(strl)/2,"es she"); printf("%s\n",p1); } 答案:【8】How does she 评析:strcpy(strl,s1):字符串拷贝函数,作用是将字符串s1拷贝到字符数组strl中去。strlen(str):测试字符串str的长度,函数的值为字符串中实际长度,不包括'\O'在内。本题中strlen(strll的值为13,则strcpy(strl+strlen(strl)/2,"es she",);相当于strcpy(strl+6,"es she");,因此可得答案为How does she。
(9)以上程序运行后的输出结果是 【9】 。 main() {int i=10,J=0; do {j=j+i;i--;} while(i>2); printf("%d\n",j); } 答案:【9】52 评析:do...while语句的形式为: do { 语句: }while(条件表达式) 当条件表达式为非零时,继续执行循环体,直到条件表达式为零时退出循环。