为了账号安全,请及时绑定邮箱和手机立即绑定

这里第三行把void改成int为什么可以,有什么区别吗

#include <stdio.h>

int x = 77;

void fn1()

{

    printf("fn1(): x=%d\n", x);       

}

int main()

{

    int x = 10;

    if(x>0)

    {

     int   x = 100;

        x /= 2;

        printf("if语句内, x=%d\n", x);       

    }

    printf("main方法内, x=%d\n", x);

    fn1();

    return 0;

}


正在回答

5 回答

void *可以指向任何类型的数据,void几乎只有注释和限制程序的作用,因为很少人会去定义一个void变量

2 回复 有任何疑惑可以回复我~

刚测试了一下,int函数如果不需要返回值,只是打印的话也是可以不加return; 

如果int函数里有运算值要送出来,就要加return,不加的也可以跑,不过运算值不送回mian函数;

0 回复 有任何疑惑可以回复我~

因为void表示返回到0了,这时void就执行完了,在这里就没有执行下去了,和int的区别是int表示定义函数,void表示返回函数

0 回复 有任何疑惑可以回复我~
#1

慕粉0247298809

问的是把viod改成int , viod可以 , 为啥int也可以? int函数不是需要返回值的吗?
2018-11-02 回复 有任何疑惑可以回复我~

没什么问题的,只不过加个return  0;就行了。

0 回复 有任何疑惑可以回复我~
#1

慕粉0247298809

我跑了一下,不加return也可以
2018-11-02 回复 有任何疑惑可以回复我~
#2

TRAUSI 回复 慕粉0247298809

在c11版本中,不加return 0的时候默认加上
2019-02-16 回复 有任何疑惑可以回复我~

可以的viod的默认返回值是0

0 回复 有任何疑惑可以回复我~
#1

慕粉0247298809

问的是把viod改成int , viod可以 , 为啥int也可以? int函数不是需要返回值的吗?
2018-11-02 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这里第三行把void改成int为什么可以,有什么区别吗

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信