问答详情
源自:5-10 局部与全局

这里第三行把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;

}


提问者:qq_杨正雄_mxzCEJ 2018-10-25 10:55

个回答

  • qq_慕斯622499
    2018-11-05 22:05:37

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

  • 慕粉0247298809
    2018-11-02 17:15:49

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

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

  • Ghost丶神话
    2018-10-31 21:29:30

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

  • 慕姐0891357
    2018-10-26 08:54:09

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

  • 三只狐狸
    2018-10-25 19:59:16

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