这个C语言程序所调用的函数只是改变全局变量的值,没有返回值,为什么声明类型不能为void

2025-03-25 11:58:44
推荐回答(4个)
回答1:

可以啊
你那样的全局变量的值不会保持上一次的赋值
只有声明为static时才会保持上一次改变后的值
static int x=0;
这样就可以了

除非你编译器有问题,不然不会出错
#include
static int x=0;

void main()
{
void print_x();
print_x();
}
void print_x()
{
++x;
}

很简单啊,声明时候要注明返回类型,定义的时候也一定要加上返回类型

回答2:

虽然这个问题已经过了很多年了 但是我觉得如果我知道还是应该说一下 这样对以后的学习者也是有帮助的 可能现在的你已经是一位高手了 请不要见笑
其实很简单 在标准的c语言定义里是没有这种定义的void main() 对于这种错误的用法c语音的创始人已经在一个公开会议还是一本书上说过了 标准的定义是int main(void)
希望可以帮到你 不要见笑

回答3:

我在再来回答一下,你在函数声明的时候生命的 int print_x(); 但在函数定义的时候用void,定义跟声明类型不一致,不用编译器编译,先让你自己检查错误,你觉得能通过?

回答4:

改为:
#include
int x=0;

void main()
{
void print_x();
print_x();
}
void print_x()
{
++x;
}