搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 求教静态变量实现x的n次方
标题:
求教静态变量实现x的n次方
只看楼主
wangxiaohu
等 级:
论坛游民
帖 子:19
专家分:29
注 册:2012-4-4
结帖率:
100%
楼主
已结贴
√
问题点数:5 回复次数:4
求教静态变量实现x的n次方
#include<stdio.h>
void main()
{
int f(int t);
static int x;
int n;
int i, j;
scanf("%d%d", &x, &n );
j=x;
for(i=0;i<(n-1);i++)
{
j=f(x);
}
printf("%d\n", j);
}
int f(int t)
{
t*=t;
return t;
}
搜索更多相关主题的帖子:
static
2012-05-27 10:52
lknight
等 级:
论坛游侠
帖 子:37
专家分:187
注 册:2008-9-17
第
2
楼
得分:3
int f(int t)
{
t*=t;
return t;
}
你这个程序逻辑有问题,你看上面这个函数啊,参数列表时int t,那就是说函数里面真正执行时用的是传进来的参数(x)的拷贝,函数执行后并不会修改传进来的参数(x)的值,也就是说每次执行这个函数返回值都是返回的输入参数(x)的平方,如果输入2 3的话,你现在程序实际执行的是2*2=4 2*2=4 2*2=4,最终结果4。当然了,传指针和引用也是可以,但同样是逻辑问题,因为这两种方式修改原变量(x)的值,每调用一次原值(x)就会变成(x的平方),这样的结果就是如果你输入2 3实际执行的是2*2=4 4*4=16 16*16=256,最终结果256。
2012-05-27 11:26
pauljames
等 级:
千里冰封
威 望:
9
帖 子:1555
专家分:10000
注 册:2011-5-8
第
3
楼
得分:2
#include<stdio.h>
int f(int t);
int main(void)
{
int x;
int n;
int i, j;
scanf("%d,%d", &x, &n );
for(i=0;i<n;i++)
{
j=f(x);
}
printf("%d\n", j);
}
int f(int t)
{
static int temp=1;
temp*=t;
return temp;
}
经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2012-05-27 11:40
小跳蚤
等 级:
青峰侠
威 望:
1
帖 子:437
专家分:1623
注 册:2011-4-9
第
4
楼
得分:0
pow(x,n)//include<math.h>
2012-05-27 11:53
laoyang103
来 自:内蒙古包头
等 级:
贵宾
威 望:
19
帖 子:3082
专家分:11056
注 册:2010-5-22
第
5
楼
得分:0
求下2的1亿次方的后五位
===========深入<----------------->浅出============
2012-05-27 11:57
5
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-368103-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.854781 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved