缺少函数头

来源:百度知道 编辑:UC知道 时间:2024/06/07 20:10:40
#include <iostream>
using namespace std;
int add(int x,int y);
{ z=add(x,y);
z=x+y;
return(z);
}
int main()
{
int a,b,c;
c=add(a,b);
cout <<"a+b"<<c <<endl;
return 0;
}

你的程序中存在这样几个问题:
1、stdafx.h不是标准的头文件,应该是stdio.h或stdlib.h吧?但就你所编写程序的意思根本不必调用stdio.h,直接将#include "stdafx.h"去掉就行。
2、int main(int argc, char* argv[])括号中的参数是有用的,如果你加上argc和argv[]这两个形参,在执行程序时是需要加参数的,就如同DIR命令DIR /W /P相似。
3、你真的需要主函数返回值吗?如果不需要,完全可以将main前面的int去掉或者改为void,这应该是你程序出现
warning C4508: 'main' : function should return a value; 'void' return type assumed
这条警告信息的根源所在。
4、程序中所有语句后面应该是分号,而不是冒号。
5、程序中的a-1: b-1: 应该是a=1;b=1吧?
6、printf("sun is %d,"sum)逗号不应该写在引号内,应该是printf("sun is %d",sum)
7、在这个程序里,我看不出return 1有什么用处,如果不是必须的,这行应该去掉。C语言不像VF或者FoxBase,程序结尾加个return语句。
最后再给你两条建议:
1、C语言对语法的要求很严格,书写时要认真;
2、C语言在类型的定义上每严格的,包括变量的定义和函数的定义。

1.删掉z=add(x,y);
2.加int z;
3.去掉"int add(int x,int y);"后的分号