Leon19960120 发表于 2021-11-29 14:25

关于全局变量或者return返回值

我求出的结果是12,2
不是5,35
求大佬回答,这个调用函数的return返回值到main函数了吗,
还有就是vs2019中如果条用函数不添加void会显示是C++不支持默认int。
#include<stdio.h>
int x, y;
void num() {

        int a = 15, b = 10;
        int x, y;
        x = a - b;
        y = a + b;
        return;
}
int main()
{
        int a = 7, b = 5;
        x = a + b;
        y = a - b;
        /*printf("%d,%d", x, y);*/
        num();
        printf("%d,%d",x,y);
}

leonrein 发表于 2021-11-29 15:50

小伙子, 基础还要加强啊。
涉及的知识是作用域和函数。
至于不加void报错是因为return后没东西,根本没有返回。

blackball9 发表于 2021-11-29 16:00

函数内部的局部变量是只在函数内部起作用,main函数的全局变量全局都有效

huanwuying 发表于 2021-11-29 16:17

num()里面重新定义了x,y,这个里面他们就是num里面的局部变量了,你把num里面int x, y;删了,就能得到5,25

chuang2015 发表于 2021-11-29 16:27

滴水三期视频补补基础,直接说可能你也不理解

Leon19960120 发表于 2021-11-29 16:43

chuang2015 发表于 2021-11-29 16:27
滴水三期视频补补基础,直接说可能你也不理解

有资源吗:loveliness:

YunYi1021 发表于 2021-11-29 16:44

基础还没看完吧

lyeat 发表于 2021-11-29 17:16

推荐一本书C++Primer,读个3-5遍能理解很多问题

chuang2015 发表于 2021-11-29 17:19

Leon19960120 发表于 2021-11-29 16:43
有资源吗

B站一搜就有了

wsds 发表于 2021-11-29 19:34

建议上rust,编译器教你写
页: [1] 2
查看完整版本: 关于全局变量或者return返回值