计算2的n次方的三种方法(C语言实现)

C代码如下:

 1 #include <stdio.h>
 2 
 3 int func1(int n)
 4 {
 5     return 1<<n;
 6 }
 7 
 8 int func2(int n)
 9 {
10     
11     if(n==0)
12     {
13         return 1;
14     }
15     
16     return func2(n-1)*2;
17 }
18 
19 int func3(int n)
20 {
21     int c=1, i;
22     for(i=0; i<n; i++)
23     {
24         c*=2;
25     }
26     
27     return c;
28 }
29 
30 
31 int main(void)
32 {
33     int n=10;
34     
35     printf("func1计算2的%d次方为:%d
", n, func1(n));
36     printf("func2计算2的%d次方为:%d
", n, func2(n));
37     printf("func3计算2的%d次方为:%d
", n, func3(n));
38 
39     system("pause");
40     return 0;
41 }

在DEV C++环境下编译后运行,输出结果如下:

func1计算2的10次方为:1024
func2计算2的10次方为:1024
func3计算2的10次方为:1024
请按任意键继续. . .

原文地址:https://www.cnblogs.com/geekham/p/4240511.html