{求助}关于函数返回值

@Ta 2012-08-09 5343点击
#include<stdio.h>
void good(int a)
{
printf("%d\n",a);
}
main(void)
{
int b;
b = good(5);
printf("%d", b);
}
___输出____
5
1
_________
good()不是没有返回值么?为什么b还会被赋值为1???求解~~~~~
回复列表(10|隐藏机器人聊天)
  • @Ta / 2012-08-09 / /
    自定义函数、good!肝痛  函数没有学懂,看不懂!
  • @Ta / 2012-08-09 / /
    这个程序是错误的吧!void类型没有返回值,如何赋值给b,奇怪…
  • @Ta / 2012-08-09 / /
    不,用c4droid编译没有报错
  • @Ta / 2012-08-09 / /
  • @Ta / 2012-08-09 / /
    @爱特 
     @老虎会游泳 @刘付杰 @....... @....... 
  • @Ta / 2012-08-11 / /
    b等1.并不是有什么数据返回.而是........
  • @Ta / 2012-08-11 / /
    @一心 是什么????告诉我吧{可怜}
  • @Ta / 2012-08-12 / /
    不能说是返回调用它的一个什的数据或是什么值,而是编程器对这个函数的判断通过返回1,并执行编译。如果判断是出错就会返回-1或0,并提示出错的提示内容。如果看过如base.h或者C函数库里面的函数手册的函数就知道了。
  • @Ta / 2012-08-12 / /
    不对,如果把5改为55那么输出就会变成 5 2 总之,good()里的参数是几位数,那么b就会被赋值为几,你说的那个我知道,比如a=(5>2);a会被赋值为1,而a=(2>5);a会被赋值为0。@一心 
  • @Ta / 2012-08-18 / /
    话说你拿到vc或者tc里玩一下……看看结果……如果还是这个结果的话……那我也不解……如果不是……也是编译器的问题
添加新回复
回复需要登录