易百教程

使用全局变量

全局变量使变量声明具有通用性。程序中任何位置的任何函数都可以访问到全局变量。以下代码显示了如何声明和使用全局变量。全局变量agefloat受两个函数的影响。

示例代码

#include <stdio.h> 

void half(void);
void twice(void);

int age;
float feet;

int main()
{
    printf("你今年多大了?: ");
    scanf("%d", &age);
    printf("你有多高了(cm)?: ");
    scanf("%f", &feet);
    printf("你今年 %d 岁了,身高为 %.1f cm.
",
        age, feet);
    half();
    twice();
    printf("但你不是真的 %d 岁或是真的有 %.1f cm 的身高.
", age, feet);
    system("pause");
    return(0);
}

void half(void)
{
    float a, h;

    a = (float)age / 2.0;
    printf("你的年龄是一半是 %.1f.
", a);
    h = feet / 2.0;
    printf("你身高的一半是 %.1f.
", h);

}
void twice(void)
{
    age *= 2;
    printf("你的年龄是两倍是: %d.
", age);
    feet *= 2;
    printf("你的身高是两倍 %.1f
", feet);
}

执行上面示例代码,得到以下结果:

你今年多大了?: 23
你有多高了(cm)?: 178
你今年 23 岁了,身高为 178.0 cm.
你的年龄是一半是 11.5.
你身高的一半是 89.0.
你的年龄是两倍是: 46.
你的身高是两倍 356.0
但你不是真的 46 岁或是真的有 356.0 cm 的身高.

代码声明了全局int类型变量age,和float类型变量feet。这些是全局变量,因为它们是在任何函数之外声明的。变量可在每个函数中使用。
可以在整个代码中访问它们的值。即使在two()函数中更改了这些值,main()函数也会使用更改后的新值。