开发者社区> 问答> 正文

c语言中函数中变量范围的问题?

ATT
测试环境:vs2013
win7
直接上代码

# include <stdio.h>
# include <stdlib.h>
void switch_a () //声明switch_a函数
void menu()//声明menu函数
int  main()
{
    int a, b; //参加运算的两个数字
    int c; //判断进行什么运算的变量

    printf("欢迎使用四则运算器\n");
    printf("请输入两个整型数字以空格隔开\n");
    scanf_s("%d %d", &a, &b); //输入 两个整数 分别到a,b变量中

    menu(); //调用menu函数
    scanf_s("%d", &c);//输入1,2,3,4其中一个数字到变量c中

    switch_a ();//调用switch_a函数

    system("pause");
    return 0;
}

void menu()
{ 
    printf("+ 选择 1\n"); //输出菜单上的选择内容
    printf("- 选择 2\n");
    printf("x 选择 3\n");
    printf("/ 选择 4\n");

    return 0;
}

void switch_a ()
{
    switch (c) //判断C的值
    {
    case 1:  //c == 1 就是加法运算
        printf("%d+%d=%d\n", a, b, a + b);
        break;
    case 2: //c == 2  就是减法运算
        printf("%d-%d=%d\n", a, b, a - b);
    case 3: // c == 3 就是乘法运算
        printf("%dX%d=%d\n", a, b, a*b);
    case 4: //c == 4 就是除法运算
        printf("%d/%d=%d\n", a, b, a / b);
    default: //c == other 输出以下信息
        printf("本程序只能输入1,2,3,4 您输入的数字应该不是它们之间的,请仔细检查!\n");
        break;
    }
    return 0;
}

问题:
为什么switch_a函数里的a,b,c 还可以用?a,b,c的声明都是在main函数里面进行的

展开
收起
a123456678 2016-03-23 11:08:32 2762 0
1 条回答
写回答
取消 提交回答
  • screenshot

    2019-07-17 19:10:34
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载