第1个回答 2019-07-13
1、我们可以在头文件与main函数之间定义,并编写方法过程。
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/dcc451da81cb39db91a4f7bfde160924aa1830f6?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
2、同样,我们也可以在main函数之后编写。
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/f31fbe096b63f624ff0ba9ea8944ebf81b4ca381?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
3、但是这个时候系统会报错。
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/810a19d8bc3eb135c8912752a81ea8d3fc1f4481?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
4、如何解决这些错误了,我们可以把函数的定义句在main函数之前定义。
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/c83d70cf3bc79f3df6c474d9b4a1cd11728b2935?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
5、这句定义必须以分号结尾。
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/574e9258d109b3de6fd77481c2bf6c81810a4ceb?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
6、接下来我们就可以开始编写执行过程了。
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/b21c8701a18b87d644a03af6090828381e30fd7d?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
本回答被网友采纳
第2个回答 2019-05-19
在C语言中,一个标准的函数定义语句块必须包含函数返回值的类型标识符、函数名、形参类型及数量、函数体、返回值表达式。如果函数返回值类型为 void (即无返回值),则在两个大括号之间不能写带有返回值表达式的 return 语句,否则编译器就会报错。你写的 test 函数返回值类型为 void,而你在函数定义语句块内写下了 return 语句,编译器自然会报错了。
你可以将这个函数修改为以下形式:
int test(int n)
{
int m = n / 2;
return m;
}
第3个回答 推荐于2017-09-30
C语言中一个完整的函数由函数首部和函数体构成,而且定义函数时两者都是必不可少的。
函数定义的一般形式如下:
类型标识符 函数名(形参表列) // 这是函数首部
// 以下{ }内的是函数体
{
说明部分
执行部分
}
举例说明如下:
// 定义一个不带返回值的函数
// 函数功能:输出形参的值
void fun(int a, int b)
{
printf("%d, %d\n", a, b);
}
// 定义一个带返回值的函数
// 函数功能:返回2个整数数的最大值
int fun(int a, int b)
{
return a>b ? a : b;
}
第4个回答 推荐于2017-09-26
给你个例子
#include<stdio.h>
void main()
{
int max(int x,int y);
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",max(a,b));
}
int max(int x,int y)
{
return(x>y?x:y);
}
上述例子中定义了max函数,你最好把你的源码发来我给你看看哪里有错
你写这函数的目的是干啥啊?求你test()的一半?
如果是,那可改为
#include <stdio.h>
int test(int n);
main()
{
int a=100;
printf("%d",test(a));
}
int test(int n)
{
int m;
m=n/2;
return(m);
}
尽量别省略参数,忘了哪些情况可以省略了。。。本回答被提问者采纳