| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 997 人关注过本帖
标题:[求助]这是什么问题
只看楼主 加入收藏
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
收藏
 问题点数:0 回复次数:14 
[求助]这是什么问题
#include <iostream.h>
long pow(int x,int y);
void main()
{
long m;
int x,y;
cout<<"Enter two intergers:";
cin>>x>>y;
m=pow(x,y);
cout<<"The result is "<<m<<endl;
}
long pow(int x,int y)
{
long var=1;
while(y--)
var=var*x;
return var;
}
这是程序源代码,但不能编译,出现以下错误:
compiling........
Error spawning c1.exe
def.obj-1error(s),owarning(s)
程序编写没问题,但就是不能生成.obj文件
麻烦大家看一下,帮我解决,不胜感激!!
搜索更多相关主题的帖子: long 不胜感激 程序编写 include 
2006-04-04 22:55
Bill_Gates
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-2-24
收藏
得分:0 
你用的应是vc编译器吧~~~
你先编译(complie),然后再生成.exe文件~~
因为你一开始生成的就是.exe文件

[此贴子已经被作者于2006-4-5 10:21:47编辑过]


2006-04-05 10:20
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
long pow(int x,int y)
{
long var=1;
while (y--) //!!!!可以这样写吗?
var=var*x;
return var;
}

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-04-05 16:58
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 

我认为应该是

#include <iostream.h>
using namespace std;

long pow(int x,int y);
void main()
{
long m;
int x,y;
cout<<"Enter two intergers:";
cin>>x>>y;
m=pow(x,y);
cout<<"The result is "<<m<<endl;
}
long pow(int x,int y)
{
int i;
long var=1;
for(i=y;i>0,i--) 因为我也才学不久 不知道这个语句是不是和你的一样
var=var*x;
return var;
}


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-04-05 17:05
yylcel
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2005-12-10
收藏
得分:0 
没错啊...
2006-04-05 17:42
skyfire
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-4-5
收藏
得分:0 
#include<iostream.h>
#include<math.h>
double pow(double x,double y);
void main()
{
double m;
double x,y;
cout<<"Enter two intergers:";
cin>>x>>y;
m=pow(x,y);
cout<<"The result is "<<m<<endl;
}
double pow(double x,double y)
{
double var=1;
while(y--)
var=var*x;
return var;
}
对于楼主的问题,有两个
POW这个函数是系统默认的,要包含在头文件<math.h>里,而且变量类型是double 型,
以上是我为你修改后的程序!

广结天下好友,共同努力进步!
2006-04-05 22:58
skyfire
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-4-5
收藏
得分:0 

对于楼主的贴子,刚才没看清楚,你是不是要一个数的多小次方,呵呵,
那你自己写的函数是对的!我刚才我的编译器里运行了一下,是对的,
不知道是不是你的编译器有问题!
不过我觉得你的程序可以更短!
#include<iostream.h>
#include<math.h>

void main()
{
double m;
double x,y;
cout<<"Enter two intergers:";
cin>>x>>y;
m=pow(x,y);
cout<<"The result is "<<m<<endl;
}
以上就足够了!
呵呵,以后多多交流呀!


广结天下好友,共同努力进步!
2006-04-05 23:06
harevine
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-4-5
收藏
得分:0 
while(y--)
不是太明白啊,是怎么控制循环的?
2006-04-06 09:10
duyouwu2
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-3-18
收藏
得分:0 

不是编译器错了,是你选错了工程类型,你是不是选了win32 application?你选择win32 console application 就可以解决问题.关于这两个类型的区别还请高手说明一下,本人也不太明白这两个的区别.

2006-04-06 13:13
skyfire
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-4-5
收藏
得分:0 
9楼说的应该是对的!我原来好像也犯过这样的错误!!

广结天下好友,共同努力进步!
2006-04-06 14:52
快速回复:[求助]这是什么问题
数据加载中...
 
   



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

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