| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1162 人关注过本帖
标题:关于局部变量的问题
只看楼主 加入收藏
bjut_Allen
Rank: 9Rank: 9Rank: 9
来 自:平乐园工业技术学校
等 级:蜘蛛侠
威 望:8
帖 子:323
专家分:1223
注 册:2016-10-16
结帖率:95.45%
收藏
 问题点数:0 回复次数:10 
关于局部变量的问题
#include <stdio.h>
void main()
{
    int a=1,b=2,c=3;
    printf("%3d%3d%3d\n",a,b,c);
    {
        int b=4;
        float c=5.0;
        printf("%3d%3d%5.1f\n",a,b,c);
        a=b;
        {
            int c;
            c=b;
            printf("%3d%3d%3d\n",a,b,c);
        }
        printf("%3d%3d%5.1f\n",a,b,c);
    }
    printf("%3d%3d%3d\n",a,b,c);  //这行里面的a为什么等于4?
}
解释一下注释那行的a,b,c分别为4,2,3
搜索更多相关主题的帖子: include 
2016-11-03 21:43
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9008
专家分:53957
注 册:2011-1-18
收藏
得分:0 
    int a=1,b=2,c=3;
    printf("%3d%3d%3d\n",a,b,c);
    {
        int b=4;
        float c=5.0;
        printf("%3d%3d%5.1f\n",a,b,c);
        a=b;
        {
            int c;
            c=b;
            printf("%3d%3d%3d\n",a,b,c);
        }
        printf("%3d%3d%5.1f\n",a,b,c);
    }
    printf("%3d%3d%3d\n",a,b,c);  //这行里面的a为什么等于4?

那你认为应该是多少呢?
2016-11-04 09:52
StadyC
Rank: 6Rank: 6
等 级:侠之大者
威 望:6
帖 子:182
专家分:430
注 册:2016-10-13
收藏
得分:0 
代码块内如果有定义与前面定义的变量同名,那么该代码块内是会屏蔽掉前面定义的那个变量。
2016-11-04 13:54
陈CDG
Rank: 2
等 级:论坛游民
帖 子:17
专家分:57
注 册:2016-4-11
收藏
得分:0 
这与局部变量的优先级有关
2016-11-04 14:11
冥河
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-10-19
收藏
得分:0 
#include "stdio.h"
void main()
{
    int a=1,b=2,c=3;
    printf("%3d%3d%3d\n",a,b,c);
    {
        int b=4;
        float c=5.0;
        printf("%3d%3d%5.1f\n",a,b,c);
        a=b;//a=4,b=a
        {
            int c;
            c=b;//c=4,b=a,c原本为folat,改变成Int,所以c=4而不=0
            printf("%3d%3d%3d\n",a,b,c);//a=4,b=4,c=4
        }
        printf("%3d%3d%5.1f\n",a,b,c);//%5.1f把c定义成float型,所以c=5.0
    }
    printf("%3d%3d%3d\n",a,b,c);  //因为赋值了a=b,所以a=4,因为这行在大挎号外,且定义的是%d的int型,所以c=3
}
2016-11-04 14:19
bjut_Allen
Rank: 9Rank: 9Rank: 9
来 自:平乐园工业技术学校
等 级:蜘蛛侠
威 望:8
帖 子:323
专家分:1223
注 册:2016-10-16
收藏
得分:0 
回复 2楼 rjsp
这是赋值操作,我懂了

Code is my life.
2016-11-05 11:02
bjut_Allen
Rank: 9Rank: 9Rank: 9
来 自:平乐园工业技术学校
等 级:蜘蛛侠
威 望:8
帖 子:323
专家分:1223
注 册:2016-10-16
收藏
得分:0 
回复 3楼 StadyC
外层变量内层不可见

Code is my life.
2016-11-05 11:03
bjut_Allen
Rank: 9Rank: 9Rank: 9
来 自:平乐园工业技术学校
等 级:蜘蛛侠
威 望:8
帖 子:323
专家分:1223
注 册:2016-10-16
收藏
得分:0 
回复 5楼 冥河
对,谢谢你!

Code is my life.
2016-11-05 11:03
StadyC
Rank: 6Rank: 6
等 级:侠之大者
威 望:6
帖 子:182
专家分:430
注 册:2016-10-13
收藏
得分:0 
回复 7楼 bjut_Allen
可以这么说,仅限于同名的变量

[此贴子已经被作者于2016-11-10 11:11编辑过]

2016-11-06 15:44
khwei
Rank: 2
来 自:北京
等 级:论坛游民
帖 子:11
专家分:32
注 册:2016-10-24
收藏
得分:0 
已经赋值a=b
2016-11-06 17:11
快速回复:关于局部变量的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012602 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved