c语言中,被调函数在主函数后面,那么在主函数前需要加原形说明。请举一个简单的例子(最好是完整的短程

c语言中,被调函数在主函数后面,那么在主函数前需要加原形说明。请举一个简单的例子(最好是完整的短程序)解释下什么叫原形说明,谢谢!

#include <stdio.h
int sum(int x,int y) 
{ int z; 
  z=x+y; 
  printf("%d",z); 
  return z; 

int main() 
{ int a,b,s; 
  printf("Input a and b:");
  scanf("%d,%d",&a,&b); 
  s=sum(a,b);
}

这样的就是被调用函数在主函数之前就被定义了。
如果你要把被调函数放在主函数后面,那么就要像下面那样,先定义。
#include <stdio.h> 
int sum(int x,int y);
int main() 
{ int a,b,s; 
  printf("Input a and b:");
  scanf("%d,%d",&a,&b); 
  s=sum(a,b);
}

int sum(int x,int y) 
{ int z; 
  z=x+y; 
  printf("%d",z); 
  return z; 

随便找了一段,没编译,可能有错,你就讲究看下吧。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-10-28
原型说明就是函数的申明
例如
void send() //这个就是申明,只写个函数头就行了,包括参数,返回值

void main() 主函数main()

{
send();
}

void send() 被调函数

{ }
第2个回答  2014-10-28
#include<stdio.h>
void myfun(int a);//原型说明
void main()
{
int a;
a=4;
myfun(a);
}
//函数在主函数后面,所以需要在主函数前进行原型声明
void myfun(int a)
{
printf("%d",a);
}追答

纯手打

追问

谢谢你,抱歉啊刚刚才给了最佳

追答

唉╯▂╰手机输入太慢了

第3个回答  2014-10-28
#include "stdio.h"
int max(x,y); //原型说明

main()
{
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max of two=%d\n",c);
}
int max(int x,int y)
{
int z;
if (x>y)
z=x;
else
z=y;
return(z);
}

若满意请及时采纳,谢谢
第4个回答  2014-10-28

追答

第四行,square函数就是

追问

谢谢

c语言中,被调函数在主函数后面,那么在主函数前需要加原形说明。请...
include <stdio.h> int sum(int x,int y) { int z; z=x+y; printf("%d",z); return z; } int main() { int a,b,s; printf("Input a and b:"); scanf("%d,%d",&a,&b); s=sum(a,b);}这样的就是被调用函数在主函数之前就被定义了。如果你要把被调...

c语言中函数调用有三种方法,能帮忙各举个例子吗?
1、voidbb(intcc);};实际上bb的函数原形是voidbb(aa&this,intcc);以前知道类的成员函数在调用时会传入一个this指针,而不晓得thiscall就是专门指定了这种调用方式。2、C语言中调用函数的方法及步骤:工具\/原料:C语言首先需要输入想要调用的函数。然后当输入一个括号后,即可观察他的参数。接着在...

定义函数时,为什么先要声明?
c语言规定了,在同一个文件中,对前面的程序调用在后面才实现的函数,必须在文件头部要先声明被调用的函数的原形。对于在文件之外的函数,你声明了函数,那么在调用该函数的地方,在编译的时候就会对调用的合法性进行检查,避免程序运行时的崩溃。编译器主要是根据你声明的函数原形,来检查被调用函数参数类...

C语言函数调用的三种方式并分别举一例。
1、值传递,创建变量x和y,x的值等于a的值,y的值等于b的值 void Exchg1(int x, int y){ int tmp;tmp=x;x=y;y=tmp;printf(“x=%d,y=%d\/n”,x,y)} void main(){ int a=4,b=6;Exchg1 (a,b) ;printf(“a=%d,b=%d\/n”,a,b)} 2、地址传递,相当于建立了px和py两个...

error C2373: 'Gameover' : redefinition; different type modifiers 是...
没声明,定义在后面也会有这种情况。在main函数前加一行 原形声明 int max(int x,int y);或把函数定义 写到 前面 去。按格式要求 输入数据 要用逗号 隔开。如果max与系统里 的 max() 函数有冲突,可以在 程序的第一行 添加宏:define NOMINMAX 取消系统里的求最大和求最小。

...char readonechar(void) 函数名称前为什么要加unsigned char?_百 ...
因为此函数为“带返回值的函数”unsigned char代表此函数的返回值为“unsigned char类型的”,如果你C语言不太好的话,可以这样理解:这个函数相当于一个运算符,例如A+B+C,这三项加起来肯定得到的是另一个数,那么此数是什么类型呢,unsigned char就是为了说明这个问题。。。比如说,unsigned char ...

C语言中的getch()与getchar()这两个函数有什么分别?
getch()不用回车,getchar(),要回车,包含头文件不一样式getch要有conio.h getchar()要stdio.h即可

C语言函数调用方式的区别
总结:在C或C++语言调用中默认的函数修饰_cdecl,由主调用函数进行参数压栈并且恢复堆栈,实参的压栈顺序是从右到左,最后由主调函数进行堆栈恢复。由于主调用函数管理堆栈,所以可以实现变参函数。另外,命名修饰方法是在函数前加一个下划 线(_)。_stdcall调用约定介绍:实际上就是PASCAL,CALLBACK,WINAPI例子:void WIN...

我在查c语言图形库函数时,原形里含有的“far”表示什么意思?
则该指针也指向地址0x71224。如果没有指定一个指针是near或far,那么默认是near。所以far指针要显式指定。far指针工作起来要慢一些,因为每次访问一个far指针时,都要将数据段或程序段的数据交换出来。另外,far指针的运算也比较反常,例如上面讲到的far指针指向同一个地址,但是比较的结果却不相同。

malloc怎么使用,请举例说明,谢谢!
include 'stdlib.h'例如:int *p;p = new int; \/返回类型为int* 类型(整数型指针)。分配大小为 sizeof(int);或:int* parr;parr = new int [100]; \/\/返回类型为 int* 类型(整数型指针)。分配大小为 sizeof(int) * 100;而 malloc 则必须由我们计算要字节数,而且在返回后强行转换...

相似回答