| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 795 人关注过本帖
标题:关于声明变量的位置
只看楼主 加入收藏
lele9564
Rank: 1
等 级:禁止访问
帖 子:1
专家分:0
注 册:2014-6-25
收藏
 问题点数:0 回复次数:5 
关于声明变量的位置
#include <stdio.h>
void main()
{
    int x;
    x=1;
    if(x>0){
        int y;
        y=1;
        x=2;}
    printf("%d,%d\n",x,y);
}
这样在if语句里可以声明变量吗?
搜索更多相关主题的帖子: include 
2014-06-25 22:40
魑魅魍魉!
Rank: 3Rank: 3
来 自:亲爱MM肚子里!
等 级:论坛游侠
威 望:1
帖 子:61
专家分:149
注 册:2014-5-3
收藏
得分:0 
应该不行吧
2014-06-26 00:02
孤独一生
Rank: 2
来 自:四川达县
等 级:论坛游民
帖 子:45
专家分:55
注 册:2013-4-1
收藏
得分:0 
不行的  朋友请你按照标准写代码好吗  不然以后会出现很多问题的
#include <stdio.h>
void main()  这个地方请按照标准写法 int main()
{
    int x;
    x=1;
    if(x>0){
        int y;  在这个地方声明变量是可以的 这叫局部变量 他是在IF语句里面声明的所以只能用在IF语句里面
        y=1;
        x=2;}
    printf("%d,%d\n",x,y);这里的Y是没有声明的和没有定义
}
2014-06-26 00:11
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
收藏
得分:0 
楼上正确,呵呵

#include <stdio.h>
void main()
{
    int x;
    x=1;
    if(x>0){
        int y;
        y=1;
        x=2;
        printf("%d\n", y);}
    printf("%d\n",x);
}

梦想拥有一台龙芯3A-4000
2014-06-26 00:58
徳智
Rank: 2
来 自:河北秦皇岛市
等 级:论坛游民
帖 子:9
专家分:13
注 册:2014-6-25
收藏
得分:0 
你的做法是不对的,首先那个int  y,在c语言中虽然没说,但在c++中有关于新版国标中对于在循环语句,判断语句中声明的变量,规定只可以在自身的循环语句,和判断语句中使用,一旦循环或判断运行完,外面是不可以访问这个变量的,也就是说 printf("%d,%d\n",x,y)中,y是不可访问的,所以会出错,
关于main(),在新的c99标准中说过最好把它默认为int类型,当然用void也支持,只是说最好,
应该是这样的,我有点忘了,要是不对还望指教。

测试环境VC++6.0
2014-06-27 15:55
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
收藏
得分:0 
可以的 GCC是可以的,visual stdio环境下C++是兼容C语法但是也带有C++的特点的
不要照搬书上过时的东西

自己去敲下代码看看能不能行

毕竟时代在进步  编译器也是在改变的 ,语言规范也是在扩展中的,应该具体的编译器 具体对待
编译器说的算

就风格来说  还是先声明变量 后使用比较好

我要成为嘿嘿的黑客,替天行道
2014-06-27 16:04
快速回复:关于声明变量的位置
数据加载中...
 
   



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

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