| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 626 人关注过本帖
标题:求指点,程序运行时出错
只看楼主 加入收藏
青春dian光
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-11-30
结帖率:0
收藏
已结贴  问题点数:10 回复次数:10 
求指点,程序运行时出错
#include <stdio.h>
void main()
{
    float power(float x,int n);
    int n;
    float x,s;
    printf("请输入x和n的值,用于计算x的n次方(x,n)\n");
    scanf("%d%d",&x,&n);
    s=power(x,n);
    printf("%f的%d次方是%f\n",x,n,s);
}
float power (float x,int n)
{
    int i;
    float s=1;
    for (i=1;i<=n;i++)
        s*=x;
    return s;
}
搜索更多相关主题的帖子: include power 
2013-11-30 23:52
好男儿!
Rank: 2
来 自:陕西省
等 级:论坛游民
帖 子:29
专家分:52
注 册:2013-7-26
收藏
得分:2 
错误在于函数格式不正确,函数的声明应该在主函数之外,不能放在里边。
1.函数声明;
2.函数定义;
3.函数掉调用;
正确的方式有:1, 2, 3 (强烈建议)  或者1, 3, 2(不建议)
其他方式都是错误的,而且函数声明中的变量名可以缺省,但不建议缺省,C语言只会取得他的数据类型,而不关心名称,但是定义语句中一定不能缺省。
2013-12-01 00:57
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:2 
我该说什么?

额,你的 x定义的是 float型


[fly]存在即是合理[/fly]
2013-12-01 03:22
好男儿!
Rank: 2
来 自:陕西省
等 级:论坛游民
帖 子:29
专家分:52
注 册:2013-7-26
收藏
得分:0 
回复 3楼 azzbcc
底数float类型有错误吗?请指教
2013-12-01 09:09
青春dian光
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-11-30
收藏
得分:0 
我还是不知道怎么改
2013-12-01 10:30
℃Buffer
Rank: 2
等 级:论坛游民
帖 子:25
专家分:48
注 册:2013-2-26
收藏
得分:2 
建议你这么写
#include <stdio.h>
float power (float x,int n)
{
    int i;
    float s=1;
    for (i=1;i<=n;i++)
        s*=x;
    return s;
}
void main()
{
    int n;
    float x,s;
    printf("请输入x和n的值,用于计算x的n次方(x,n)\n");
    scanf("%d%d",&x,&n);
    s=power(x,n);
    printf("%f的%d次方是%f\n",x,n,s);
}
或者
#include <stdio.h>
float power (float x,int n);
void main()
{
    int n;
    float x,s;
    printf("请输入x和n的值,用于计算x的n次方(x,n)\n");
    scanf("%d%d",&x,&n);
    s=power(x,n);
    printf("%f的%d次方是%f\n",x,n,s);
}
float power (float x,int n)
{
    int i;
    float s=1;
    for (i=1;i<=n;i++)
        s*=x;
    return s;
}
你的问题是在使用前没有申明,申明不是放在main函数里
float不影响

2013-12-01 11:32
青春dian光
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-11-30
收藏
得分:0 
结果是这样的:
请输入x和n的值,用于计算x的n次方(x,n)
2
3
0.000000的3次方是0.000000
这是怎么回事,哪个地方写错了,求指点
2013-12-01 12:11
zhaogay
Rank: 7Rank: 7Rank: 7
来 自:宫
等 级:黑侠
帖 子:151
专家分:586
注 册:2013-10-10
收藏
得分:2 
scanf("%d%d",&x,&n);这里x是float ,应该用%f%d

好好学习,天天想上
2013-12-01 12:42
青春dian光
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-11-30
收藏
得分:0 
还是同样的结果
请输入x和n的值,用于计算x的n次方(x,n)
 2
 3
 0.000000的3次方是0.000000
2013-12-01 13:21
℃Buffer
Rank: 2
等 级:论坛游民
帖 子:25
专家分:48
注 册:2013-2-26
收藏
得分:0 
建议你这么写
#include <stdio.h>
float power (float x,int n)
{
    int i;
    float s=1;
    for (i=1;i<=n;i++)
        s*=x;
    return s;
}
void main()
{
    int n;
    float x,s;
    printf("请输入x和n的值,用于计算x的n次方(x,n)\n");
    scanf("%f,%d",&x,&n);
    s=power(x,n);
    printf("%f的%d次方是%f\n",x,n,s);
}
或者
#include <stdio.h>
float power (float x,int n);
void main()
{
    int n;
    float x,s;
    printf("请输入x和n的值,用于计算x的n次方(x,n)\n");
    scanf("%f,%d",&x,&n);
    s=power(x,n);
    printf("%f的%d次方是%f\n",x,n,s);
}
float power (float x,int n)
{
    int i;
    float s=1;
    for (i=1;i<=n;i++)
        s*=x;
    return s;
}
你的问题是在使用前没有申明,申明不是放在main函数里
float不影响
scanf输入可以用逗号隔开scanf("%f,%d",&x,&n);
输入时这样输入2,3

2013-12-01 15:11
快速回复:求指点,程序运行时出错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021708 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved