C++ 以下程序执行的结果为?能详细解释一下吗?谢谢!
(36)以下程序执行的结果为()intf(inti){return++i;}intg(int&i){return++i}intmain(){inta(0),b(0);a+...
(36)以下程序执行的结果为()
int f(int i){return ++i;}
int g(int &i){return ++i}
int main() {
int a(0),b(0);
a+=f(g(a));
b+=f(f(b));
cout<<a<<”\t”<<b;
return 0;
}
A. 3 2 B. 2 3 C.3 3 D . 2 2
(37)以下程序执行的结果为()。
int& max(int& x,int& y){return(x>y?x:y);}
int main(){
int m(3),n(4);
max(m,n)--;
cout<<m<<"\t"<<n;
return 0;
}、
A.3 2 B。2 3 C。 3 4 D。 3 3
(38)若定义结构体
struct st {
int no;
char name[15];
float score;}s1;
则结构体变量所占内存空间为()。
A.15
B.sizeof(int)+sizeof(char[15])+sizeof(float)
C. sizeof(s1)
D. max(sizeof(int),sizeof(char[15]),sizeof(float))
(39)若定义联合体
union{int no;
char name [15];
float score;}u1;
则联合体变量所占的空间为()。
A.15
B.sizeof(int)+sizeof(char[15])+sizeof(float)
C.sizeof(u1)
D.max(sizeof(int),sizeof(char[15],sizeof9float)) 展开
int f(int i){return ++i;}
int g(int &i){return ++i}
int main() {
int a(0),b(0);
a+=f(g(a));
b+=f(f(b));
cout<<a<<”\t”<<b;
return 0;
}
A. 3 2 B. 2 3 C.3 3 D . 2 2
(37)以下程序执行的结果为()。
int& max(int& x,int& y){return(x>y?x:y);}
int main(){
int m(3),n(4);
max(m,n)--;
cout<<m<<"\t"<<n;
return 0;
}、
A.3 2 B。2 3 C。 3 4 D。 3 3
(38)若定义结构体
struct st {
int no;
char name[15];
float score;}s1;
则结构体变量所占内存空间为()。
A.15
B.sizeof(int)+sizeof(char[15])+sizeof(float)
C. sizeof(s1)
D. max(sizeof(int),sizeof(char[15]),sizeof(float))
(39)若定义联合体
union{int no;
char name [15];
float score;}u1;
则联合体变量所占的空间为()。
A.15
B.sizeof(int)+sizeof(char[15])+sizeof(float)
C.sizeof(u1)
D.max(sizeof(int),sizeof(char[15],sizeof9float)) 展开
2个回答
展开全部
36A,37D 38B 39D
36题考的是对函数形参引用的理解,形参中不加引用号,则形参的值是实参值的复制,f(a)执行后,实参a的大小没有变,变的是他的复制值。形参中加了引用号,函数体中的形参就是实参,所以g(a)执行后a会自增。
37考的是函数返回值引用的理解。如果max函数返回值没有引用,说明返回的是复制值,对max函数的自减就不会改变m,n的大小,最后结果就是3,4.这里返回值是引用,说明返回的就是m,n的较大值,对max函数自减,m,n的较大值就会减小,所以结果是3,3.
38,39就是联合体和结构体的基本性质。联合体变量所占内存长度是各最长的成员占的内存长度。 而结构体变量时各个成员所占的内存长度的总和。所以联合体的有点之一是所占内存比结构体少。
36题考的是对函数形参引用的理解,形参中不加引用号,则形参的值是实参值的复制,f(a)执行后,实参a的大小没有变,变的是他的复制值。形参中加了引用号,函数体中的形参就是实参,所以g(a)执行后a会自增。
37考的是函数返回值引用的理解。如果max函数返回值没有引用,说明返回的是复制值,对max函数的自减就不会改变m,n的大小,最后结果就是3,4.这里返回值是引用,说明返回的就是m,n的较大值,对max函数自减,m,n的较大值就会减小,所以结果是3,3.
38,39就是联合体和结构体的基本性质。联合体变量所占内存长度是各最长的成员占的内存长度。 而结构体变量时各个成员所占的内存长度的总和。所以联合体的有点之一是所占内存比结构体少。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询