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);
就是错误的
向各位老师求解,谢谢啦 展开
#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);
就是错误的
向各位老师求解,谢谢啦 展开
1个回答
展开全部
你调用了a()之后,函数a()会返回一个5,但你没有将其返回值保存起来,所以这个返回值会被抛弃。要么用一个变量将函数a的返回值保存起来:int b=a(),要么将函数的返回值作为另一个函数的参数输入:printf("%d",a())。
追问
请问一下,那a()本身的值和返回值有什么区别或者关系啊?谢谢
追答
a()是函数,函数本身没有值的概念,或者说函数的值就是它的返回值。
不带括号的函数名a是一个常量函数指针,它指向该函数的入口地址。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询