如何在C语言中定义一个函数?
为什么我怎么定义函数都不正确呢?总是说我表达语法错误在main函数中我用的编译器是WIN-TC解释详细点#include<stdio.h>voidtest(int);ma...
为什么我怎么定义函数都不正确呢?
总是说我 表达语法错误在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)
}
这是我写的,错误很多
高手指点下,别见笑,本人刚学不久 展开
总是说我 表达语法错误在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语言中,一个标准的函数定义语句块必须包含函数返回值的类型标识符、函数名、形参类型及数量、函数体、返回值表达式。如果函数返回值类型为 void (即无返回值),则在两个大括号之间不能写带有返回值表达式的 return 语句,否则编译器就会报错。你写的 test 函数返回值类型为 void,而你在函数定义语句块内写下了 return 语句,编译器自然会报错了。
你可以将这个函数修改为以下形式:
int test(int n)
{
int m = n / 2;
return m;
}
你可以将这个函数修改为以下形式:
int test(int n)
{
int m = n / 2;
return m;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
}
函数定义的一般形式如下:
类型标识符 函数名(形参表列) // 这是函数首部
// 以下{ }内的是函数体
{
说明部分
执行部分
}
举例说明如下:
// 定义一个不带返回值的函数
// 函数功能:输出形参的值
void fun(int a, int b)
{
printf("%d, %d\n", a, b);
}
// 定义一个带返回值的函数
// 函数功能:返回2个整数数的最大值
int fun(int a, int b)
{
return a>b ? a : b;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你个例子
#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);
}
尽量别省略参数,忘了哪些情况可以省略了。。。
#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);
}
尽量别省略参数,忘了哪些情况可以省略了。。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询