求C++题目的解答,非常感谢!急求,多谢!
1,假定有“structBOOK{chartitle[40];floatprice;};BOOK*book;”,则正确的语句为(A)。A.BOOK&x=&book;B.B...
1,假定有“struct BOOK{char title[40]; float price;}; BOOK *book;”,则正确的语句为( A )。
A. BOOK &x=& book; B. BOOK &x=book
C. BOOK &x=new BOOK; D. BOOK &x=Book;求解释
2、在一道程序中,
#include<istream.h>
void f1(int x,int y)
{
x=x+y;
y=x+y;
cout<<"x,y="<<x<<" "<<y<<endl;
return x+y;
}
int main()
{
int x=5,y=8;
int z=f1(x,y);
cout<<"x="<<x<<",y="<<y;
cout<<",z="<<z<<endl;
}输出的结果是 13,21 5,8 34,5和8是保留原来的结果不变。也就是说局部变量不受改变的影响。但是在另外一道程序题目中,却保留了上次的计算结果,这是怎么回事,程序如下:
void f1(int &x,&y)
{{int z=&x,&x=&y,&y=z;}
void f2(int *x,int *y)
{int z=*x,*x=*y,*y=z;}
int main()
{
int x=5,y=8;
f1();
cout<<x<<" "<<y<<" "<<endl;
f2();
cout<<x<<" "<<y<<" "<<endl;
}为什么在这个程序中就保留上一次的结果呢?
急求解答,在此多谢了! 展开
A. BOOK &x=& book; B. BOOK &x=book
C. BOOK &x=new BOOK; D. BOOK &x=Book;求解释
2、在一道程序中,
#include<istream.h>
void f1(int x,int y)
{
x=x+y;
y=x+y;
cout<<"x,y="<<x<<" "<<y<<endl;
return x+y;
}
int main()
{
int x=5,y=8;
int z=f1(x,y);
cout<<"x="<<x<<",y="<<y;
cout<<",z="<<z<<endl;
}输出的结果是 13,21 5,8 34,5和8是保留原来的结果不变。也就是说局部变量不受改变的影响。但是在另外一道程序题目中,却保留了上次的计算结果,这是怎么回事,程序如下:
void f1(int &x,&y)
{{int z=&x,&x=&y,&y=z;}
void f2(int *x,int *y)
{int z=*x,*x=*y,*y=z;}
int main()
{
int x=5,y=8;
f1();
cout<<x<<" "<<y<<" "<<endl;
f2();
cout<<x<<" "<<y<<" "<<endl;
}为什么在这个程序中就保留上一次的结果呢?
急求解答,在此多谢了! 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询