支持← →键盘翻页 主页 > 365bet足球开户 > 堆叠问题

堆叠问题

全部展开
兄弟,这些问题并不难!
让我谈谈第一个。
我们知道堆栈原理是先进的,并且堆栈顺序是e1,e2,e3,e4。这是e2高级条目,而不是一次性条目。此时应该是e2,e3,e4。同样,堆栈顺序为e4,e3,e1,总堆栈顺序为e2,e4,e3,e1。
第二个也很容易。
A)好玩(inty,doublem);错了。调用该函数时,不能编写int和double。B)k =乐趣(10.12。
5);这是错误的,因为函数定义为null。也就是说,如果没有返回值,则不能将返回值分配给k。D)voidfun(n,x);错误,删除null
再次回答第三个问题。voidfun(char * a,char * b)?
{a = b;(* a)++;}?
主()?
{charc1 = A,c2 = a,* p1,* p2?
P1 = p2 =乐趣(p1,p2)?
Printf(%c%cn,c1,c2)?
在主函数中,p1指向变量c1,p2指向变量c2。fun函数将指针b的内容分配给指针a。也就是说,a和b都指向相同的变量,并且(* a)++被添加到++所指向的变量的值中。在将p1和p2传递给函数之后,p1还指向p2指向的变量c2,并增加变量c2的值。这是Ab的结果,因为将1加到“ a”成为“ b”,并且值变量c1不变。看一下这个问题:{charstr[][20]={嗨,北京},* p = str?
Printf(%dn,strlen(p + 20))?
}您可能首先写错了位置。用vc发布的程序未编译。如果将其更改为*,* p = str[0],则正确。答案是C。
原因是hello和Beijing少于20,但是每个str行仍然有20个字符的空间。这两行实际上放在内存中的一行中。当p开始时,它表示字母H,而p + 20表示对于'B'。由于strlen函数计算'B'中的字符数,因此它总是在空格字符位置计算,因此该字符串在北京正好有7个字符。
(字符串末尾的空格字符不是字母,而只是结束符)。第九个问题的结果是132。很容易看到他添加的21个问题。由于未定义调整功能,因此无法执行该程序!
另外,您需要注意大写和小写字母之间的区别!
最后一个问题:classA{intnum; public:A(inti){num = i;}A(A&a){num = a。
Num ++;}voidprint(){coutNUM;}}; voidmain(){Aa(1),b(a); a。
打印(); b。
Print();此问题检查类的构造函数和复制功能。此时,指令Aa(1)将1分配给对象a的成员num。
Num = 1,但您需要注意函数A(A和a)。函数A创建带有参数的新对象num = a。
Num ++;表示新对象的数量与a的数量相同,但是将a的数量加1!
接下来,扮演Ab角色(a);将对象a分配给新对象b,但是将a分配给新对象b。
Num = a。
Num + 1,然后
数字= 2,b。
Num = 1我写了很多东西,它不见了,我要说一点