为啥s1,s2,s3输出为0?


#include 

int s1, s2, s3;

int vs(int a, int b, int c)
{
    int v, s1, s2, s3;
    v = a * b * c;
    s1 = a * b;
    s2 = b * c;
    s3 = a * c;
    return v;
}

int main(int argc, char** argv)
{
    int v, length, width, height;
    printf("请分别输入长方体的长宽高:");
    scanf("%d,%d,%d", &length, &width, &height);

    v = vs(length, width, height);
    printf("v=%d, s1=%d, s2=%d, s3=%d\n", v, s1, s2, s3);

    return 0;
}

输入长方体的长宽高三个数值时,数字间以英文半角','逗号间隔,如:2,3,4

s1,s2,s3变量多次定义,全局定义了一次,子函数又来一次,在子函数中当然是优先修改子函数定义的变量,然而在main函数输出的则一定是定义的全局变量