为什么变得程序运行错误

Simple_Z 2011-03-28 07:33:37
我用C语言编了个程序如下:
#include<stdio.h>
main()
{
int a,b;
printf("please input two count\n");
scanf("%d%d",&a,&b);
printf("%d",pow(a,b));
}
为什么我输入任何两个数,结果都是0?
求高手指教!!!
...全文
145 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wizard_tiger 2011-03-30
  • 打赏
  • 举报
回复
函数名称: pow
函数原型: double pow(double x,double y);
函数功能: 计算以x为底数的y次幂,即计算x^y的值.
函数返回: 计算结果
参数说明: x-底数,y-幂数
所属文件: <math.h>

所以这个返回值不应用%d而改成%lf就可以了。
lx3275852 2011-03-30
  • 打赏
  • 举报
回复
都什么解释呀。。。。。
最关键的是:printf("%d",pow(a,b));
改成printf("%lf",pow(a,b)); 就行了。。。。
c语言中会做隐式类型转换。。

楼主既然能运行成功,那么他的编译器不用#include <math.h>(原因是有些c++编译器会根据需要自动添加)



luohaohahaha 2011-03-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 justkk 的回复:]
#include <math.h>

把a、b定义为double类型
[/Quote]

a,b不能定义为double 型,如果定义为double ,输入很小的数字时,编译器会按0处理的,必须要定义为float型。
4楼正解!
Johnxme126 2011-03-28
  • 打赏
  • 举报
回复
pow返回double
改成%f或者%lf
masmaster 2011-03-28
  • 打赏
  • 举报
回复

#include <stdio.h>

int main (void) {

float a,b;
scanf ("%f%f",&a,&b);
printf ("%f\n",pow(a,b));
return 0;

}


pow函数原型:extern float pow(float x, float y);
linux_ljm 2011-03-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 justkk 的回复:]

#include <math.h>

把a、b定义为double类型
[/Quote]
++
hzc543806053 2011-03-28
  • 打赏
  • 举报
回复
加1个 #include<math.h> 数学函数
justkk 2011-03-28
  • 打赏
  • 举报
回复
#include <math.h>

把a、b定义为double类型
内容概要:本文档是一份关于开发经典小游戏“贪吃蛇”的保姆级毕业设计指导文档,涵盖从游戏规则、功能设计、技术选型到核心代码实现的完整流程。文档以Python + Pygame为技术栈,详细讲解了游戏初始化、蛇的移动逻辑、食物生成、碰撞检测、计分与等级系统、键盘控制及主循环渲染等核心模块,并提供了完整的项目结构和源码示例。采用状态机管理游戏状态,使用列表模拟链表结构存储蛇身,结合方向缓冲机制优化操作体验,同时引入难度递增机制提升可玩性。文末还列举了飞机大战、扫雷、五子棋等同类课题作为拓展参考。; 适合人群:具备一定编程基础、正在进行毕业设计或课程设计的学生,尤其是对游戏开发感兴趣的初级开发者。; 使用场景及目标:①帮助学生独立完成一个功能完整、结构清晰的小游戏项目,用于毕业答辩或课程展示;②深入理解事件驱动编程、状态管理、碰撞检测、定时刷新等基础编程概念;③掌握Python + Pygame开发2D小游戏的核心技能,并具备二次开发与功能拓展能力。; 阅读建议:建议读者按照“规则→设计→代码→运行”的顺序逐步学习,动手实践每个模块并调试代码,重点关注方向缓冲、状态机、食物生成算法等设计细节,同时可尝试实现文末提出的拓展功能以增强项目亮点。

70,039

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧