C语言自定义函数返回值的问题

比如下面的程序:#include<stdio.h>inta(void);intmain(){intb;b=a();printf("%d",b);return0;}inta... 比如下面的程序:
#include <stdio.h>
int a(void);
int main()
{int b;
b=a();
printf("%d",b);
return 0;}
int a(void)
{return 5;}
为什么直接写成
a();
printf("%d",a);
就是错误的
向各位老师求解,谢谢啦
展开
 我来答
GTA小鸡
高粉答主

2018-03-05 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
你调用了a()之后,函数a()会返回一个5,但你没有将其返回值保存起来,所以这个返回值会被抛弃。要么用一个变量将函数a的返回值保存起来:int b=a(),要么将函数的返回值作为另一个函数的参数输入:printf("%d",a())。
追问
请问一下,那a()本身的值和返回值有什么区别或者关系啊?谢谢
追答
a()是函数,函数本身没有值的概念,或者说函数的值就是它的返回值。
不带括号的函数名a是一个常量函数指针,它指向该函数的入口地址。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式