陕西省镇巴盐场隧道:请教C语言中void函数的一个现象

来源:百度文库 编辑:神马品牌网 时间:2024/04/27 18:42:29
main()
{
void aa();
}
void aa()
{
printf("**************\n");
}
这段代码运行以后,什么也看不到,可是,如果两个函数里面的“void”都去掉就可以正常运行了,为什么会这样?没有返回值的函数应该也可以执行函数体的呀?(书上还总是提倡把没有返回值的函数加上void呢)

main()
{
aa(); ;调用不要void
}
void aa()
{
printf("**************\n");
}

在main前面还要加上函数声明,如下
void aa();

main()
{
aa();
return 0;
}

void aa()
{
printf("**********\n");
}
或者直接把函数定义放在前面(只建议对短小的函数这样做),如下

void aa()
{
printf("*********\n");
}

main()
{
aa();
return 0;
}

书上提倡的不是在调用函数前加上void,而是象下面这样:
void aa();

void main(void)
{
aa();
}

void aa()
{
printf("*********\n");
}

main()
{
void aa(); /****/
aa();
}
void aa()
{
printf("**************\n");
}

改为如上即可,因为第一个void aa();一行的作用是声明aa()函数,
而不是调用aa()函数,要再加一行aa();调用。

在main函数的最后加个getch();

调用不要void。其他说的都正确。