如何在C语言中定义一个函数?

为什么我怎么定义函数都不正确呢?
总是说我 表达语法错误在main函数中
我用的编译器是WIN-TC
解释详细点
#include <stdio.h>
void test(int );
main()
{int a=100;

printf("%d",test(a));
getch();
}
void test(int )
{int n,m;
m=n/2;
return(m)

}
这是我写的,错误很多
高手指点下,别见笑,本人刚学不久

需要准备的材料分别有:电脑、C语言编译器。

1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。

2、在test.cpp文件中,输入C语言代码:int fun(){return 1;}。

3、编译器运行test.cpp文件,此时成功调用fun()函数输出了内容。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-13

1、我们可以在头文件与main函数之间定义,并编写方法过程。

2、同样,我们也可以在main函数之后编写。

3、但是这个时候系统会报错。

4、如何解决这些错误了,我们可以把函数的定义句在main函数之前定义。

5、这句定义必须以分号结尾。

6、接下来我们就可以开始编写执行过程了。

本回答被网友采纳
第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);
}
尽量别省略参数,忘了哪些情况可以省略了。。。本回答被提问者采纳