c语言函数调用问题
自定义函数的时候有的时候是intaaa(intn),有的时候又是voidaaa(void),第一个单词到底在什么时候该用什么类型呢,还有括号里的。。。实在是弄不明白啊,还...
自定义函数的时候有的时候是int aaa (int n),有的时候又是void aaa (void),第一个单词到底在什么时候该用什么类型呢,还有括号里的。。。实在是弄不明白啊,还有什么返回值的,返回值在哪。。我怎么看不见返回了什么。。
展开
3个回答
展开全部
int 和 void 的区别:
int 返回值,void 不返回值。当需要返回值给主函数时,用int;当不需要返回值给主函数时,用void。
至于括号里的内容:
int n是接收主函数的实参作为形参,就是函数中要用到这个形参。如果不需要从主函数中接收实参,那么就用void。
至于返回值:
当函数返回值给主函数时,主函数需要调用函数并赋值给某一个变量。
例如:
函数int fun() 返回值:return (a);
主函数调用函数fun()
p=fun(int n);
这时,p就接收了函数返回的a的值。
printf("%d",a);
就可以将a的值显示在屏幕上。
int 返回值,void 不返回值。当需要返回值给主函数时,用int;当不需要返回值给主函数时,用void。
至于括号里的内容:
int n是接收主函数的实参作为形参,就是函数中要用到这个形参。如果不需要从主函数中接收实参,那么就用void。
至于返回值:
当函数返回值给主函数时,主函数需要调用函数并赋值给某一个变量。
例如:
函数int fun() 返回值:return (a);
主函数调用函数fun()
p=fun(int n);
这时,p就接收了函数返回的a的值。
printf("%d",a);
就可以将a的值显示在屏幕上。
更多追问追答
追问
噢噢,如果我最开始写了int,就是把函数里的所有的变量都用int表示?如果函数里写的是printf之类的东西就写void?写double的话里面的变量只能用double是不是。。如果里面的变量写了int,最后调用进主函数里,显示的还是double类型?谢谢
追答
这个int和主函数里的变量类型没有任何关系。只是执行完成后,返回整型值。
例如:
int main()
{
…………
return 0;
}
最后返回0值。
如果是在函数里,那么就要和返回值的类型一致。
例如想返回float型数值a,那么函数的初始化:
float fun(int n);
…………
最后:return (a);
函数里你的说法是对的。主函数调用函数,函数执行过程中已经printf完成,并不返回值,那么就可以用void。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void表示空,没有输入值和返回值,一般用于主函数。int n表示输入参数的类型为整型,函数名称前的int表示函数返回值是整型。调用函数肯定是想得出一个结果,这个结果就是返回值。
更多追问追答
追问
如果函数里的变量我用的是double,最后调用进主函数里最后还是int类型?谢谢
追答
那就会提示出错的,要转成int型
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数名前面的类型指的就是函数的返回值类型,函数最后返回什么类型的数据,这里就用什么类型
括号里的就是参数的类型,你要传什么类型的参数到函数中进行处理,就放什么类型,参数可以有多个
括号里的就是参数的类型,你要传什么类型的参数到函数中进行处理,就放什么类型,参数可以有多个
追问
也就是说函数类型是什么,里面的函数就得是什么类型的?对吗?谢谢
追答
函数的返回值类型是什么,最后函数就应该返回该类型的值,比如:
int fooInt(int n)
{
int num = 0;
.........
return num;
}
float fooFloat(int n)
{
float f = 0;
.........
return f;
}
函数里面不管你怎么搞,最后return后面写的那个,不管是变量还是常量还是表达式,结果的类型要与函数前面的类型一致
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询