鱼C论坛

 找回密码
 立即注册
查看: 3452|回复: 3

为什么我的编译器出的跟您的不一样呢?

[复制链接]
发表于 2012-5-11 01:11:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
小甲鱼老师,你好,就学到函数这一节的时候,您不是给我们留了习题么,第一题我都按照您的程序在我的编译器上写了,但是为什么它什么都没显示呢?是不是编译器的问题?变成如下;
#include<stdio.h>
double power(double x,double y);
void main(void)
{
double x=3.0,y=3.0,z;
z=power(x,y);
printf("%1f to the power of %1f is %1f\n",x,y,z);
}
double power(double x,double y)
{
double z=1;
while (y);
{
z *=x;
--y;
}
return z;
}

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-5-11 07:37:32 | 显示全部楼层
while后面多了一个分号
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-5-11 08:26:58 | 显示全部楼层
printf("%1f to the power of %1f is %1f\n",x,y,z);
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-5-11 14:03:40 | 显示全部楼层
  1. #include<stdio.h>
  2. double power(double x,double y);
  3. void main(void)
  4. {
  5. double x=3.0,y=3.0,z;
  6. z=power(x,y);
  7. printf("%1f to the power of %1f is %1f\n",x,y,z);
  8. }
  9. double power(double x,double y)
  10. {
  11. double z=1;
  12. while (y)
  13. {
  14. z *=x;
  15. --y;
  16. }
  17. return z;
  18. }
复制代码

while后面多了一个分号,这样首先导致while后面没有别的语句执行,另外 while 判断语句 y 会一直判断为真,所以形成死循环,什么都不会输出!
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-13 06:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表