【发布时间】:2013-08-14 05:30:55
【问题描述】:
希望你们都度过了一个美好的夏天!
我目前正在为考试复习,并在过去的论文中提出了几个问题,我一直坚持不下去,如果您能提供任何帮助/解释,我将不胜感激! :)
这里有问题;
1.) 函数 power() 应该实现函数 n* 2^p(printf() 行的输出应该是 5*(2^2) = 20)。使用移位运算符完成函数 power() 的主体。
为什么使用移位运算符而不是math.h 中可用的幂函数是明智的?
#include <stdio.h>
int power(int n, int p) {
<< YOUR CODE GOES HERE >>
}
main () {
printf("%d*(2^%d) = %d\n",5,2,power(5,2));
}
2.) 内存被组织在称为文本、数据、堆栈和堆的区域中。下面的程序定义了变量a、b 和c。每个变量的内容存放在哪个内存区域?
#include <stdio.h>
#include <stdlib.h>
int a = 5;
int func1(int x) {
int b=5;
}
main {
char * c;
c = (char*) malloc (a+1);
func1(a);
return 0;
}
我还有几个问题要问,但会看看这些是怎么回事!实际上我以前从未使用过stackoverflow,所以如果我做错了什么,请放轻松!
非常感谢,
丹
【问题讨论】:
-
其他人已为您完成此操作,但将来,您可以通过突出显示代码段并单击
{}按钮来格式化代码段。 -
感谢 Michelle 的提醒,感谢 mbratch 为我更改它!我为它在第一篇文章中的格式如此糟糕而道歉,但那是我在这个网站上的第一篇文章! :)
-
没问题,只要你能学会。此外,如果您正在寻找代码(例如
power()函数),您应该先自己尝试一下,然后,如果它不起作用,请提供您的尝试和结果,以便我们引导您朝着正确的方向前进。 -
@Michelle ,只是想问一下,如果我有更多问题,我应该发布一个新问题还是用一个新问题回答这个问题?
-
如果您需要扩展特定答案(例如,“x 是什么意思”,或“您能解释一下 y 的含义”),您应该对该答案发表评论。如果它与这个问题密切相关(有人必须阅读此内容才能理解),请编辑您的问题,否则,发布一个新问题。永远不要发布新问题作为答案。
标签: c memory malloc heap-memory stack-memory