注册 登录
编程论坛 C++教室

哪里错了?

haiyungood 发布于 2008-09-14 16:38, 1518 次点击
我自己编了一个程序但不知道是哪里错了,请各位给看看,我在这谢谢各位了,
#include <iostream>
using namespace std;
int main ()
{
    int a,b,c;
    cin>>a>>b;
    c=add(a,b);
    cout<<"add(a+b)="<<c<<endl;
    return 0;
}
    int add(int x,int y);
{
    int z;
    cin>>x>>y;
    z=x+y;
    return (z);
}
13 回复
#2
独孤剑魔2008-09-14 17:23
没有细看,不过如下改动你就可以通过编译和运行了。
#include <iostream>
using namespace std;
int add(int x,int y)
{
    int z;
    cin>>x>>y;
    z=x+y;
    return (z);
}
int main ()
{
    int a,b,c;
    cin>>a>>b;
    c=add(a,b);
    cout<<"add(a+b)="<<c<<endl;
    return 0;
}
#3
独孤剑魔2008-09-14 17:24
在声明函数室后面无需加;结构加
#4
blueboy820062008-09-14 17:37
楼主对声明和定义还没有搞清楚..
两种形式都是可以的,但就是不能像你那样写...
第一种:
#include <iostream>
using namespace std;
int add(int x,int y)
{
    int z;
    cin>>x>>y;
    z=x+y;
    return (z);
}
int main ()
{
    int a,b,c;
    cin>>a>>b;
    c=add(a,b);
    cout<<"add(a+b)="<<c<<endl;
    return 0;
}
第二种:
#include <iostream>
using namespace std;
int add(int x,int y);
int main ()
{
    int a,b,c;
    cin>>a>>b;
    c=add(a,b);
    cout<<"add(a+b)="<<c<<endl;
    return 0;
}
int add(int x,int y)
{
    int z;
    cin>>x>>y;
    z=x+y;
    return (z);
}
#5
blueboy820062008-09-14 17:40
补充一下,刚才没看仔细,
你那个add函数里的cin>>x>>y;这句多余了...
调用函数前已经有输入了啊...
#6
haiyungood2008-09-14 18:27
现在好了,谢谢各位了,
#7
newyj2008-09-14 22:29
不是说 不能返回 函数中定义的变量吗?
#8
鸭飞猪2008-09-14 23:55
回复 7# newyj 的帖子
谁说的。。。。。。。
#9
shaoyuan2008-09-15 18:30
在使用函数之前必须让编译系统知道有该函数的存在,你可以在调用函数之前先对函数进行声明,也可以把函数定义放在主函数之前。还有一点我觉的有点不解的是:你在主函数里已经该变量赋值了,为什么还要在自定义函数里再对变量进行赋值呢?
#10
独孤剑魔2008-09-15 19:09
回复 7# newyj 的帖子
谁说的啊?
#11
xianshizhe1112008-09-17 11:59
#include <iostream>
using namespace std;
inline int add(int x,int y){return x+y;}
int main ()
{
    int a,b,c;
    cin>>a>>b;
    c=add(a,b);
    cout<<"add(a+b)="<<c<<endl;
    return 0;
}
#12
zzt_4282008-09-17 18:59
回答
哪个告诉你不能返回函数中定义的变量的?我劈死他......
是不能返回函数中定义的对象的引用或指针.
要是不能返回,,那把参数传给函数,不肉包子打狗有去无回吗?
#13
Emmahan2008-09-19 17:15
回复 11# xianshizhe111 的帖子
inline int add(int x,int y){return x+y;} 这个是叫内联函数吧?
不是说内联函数要放到头文件吗?
#14
baidiao2008-09-19 18:13
还可以这样写
#include <iostream>
using namespace std;

int add (int x,int y);

int main ()
{
    int a,b,c;
    cin>>a>>b;
    c=add(a,b);
    cout<<"add(a+b)="<<c<<endl;
    return 0;
}

int add(int x,int y)
{
    int z;
    z=x+y;
    return z;
}
1