| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 473 人关注过本帖
标题:求大神帮我看个简单的问题。我不能理解哎。郁闷
取消只看楼主 加入收藏
ciscoh3c
Rank: 1
等 级:新手上路
帖 子:14
专家分:7
注 册:2012-11-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
求大神帮我看个简单的问题。我不能理解哎。郁闷
#include <stdio.h>
int main (void)
{
    int i;
    int j;   
    char ch ;

    scanf ("%d",&i);
    printf ("i = %d\n",i);

    while ((ch=getchar()) !=  '\n')
        continue;   
     /*int j;    为什么我在这里定义int j;时程序就编译不成功。而在最上面定义就能正常运行呢?*/
    scanf ("%d",&j);
    printf ("j = %d\n",j);


}

}
搜索更多相关主题的帖子: continue include 
2012-11-30 22:53
ciscoh3c
Rank: 1
等 级:新手上路
帖 子:14
专家分:7
注 册:2012-11-25
收藏
得分:0 
AnsiC标准规定变量必须声明在函数最开始的地方,而C99则允许在使用的时候才声明,
 这是我百度到的。是这个原因吗?
2012-11-30 23:14
ciscoh3c
Rank: 1
等 级:新手上路
帖 子:14
专家分:7
注 册:2012-11-25
收藏
得分:0 
回复 3楼 qunxingw
是一个int j; 只是放的位置不同。放在最上面是可以编译输出。放在我注释的那地方。就提示变量j未定义,我用来把这个程序的后缀改成cpp,放在注释的地方也可以编译过去了。。这个程序本无含义,
2012-12-01 10:19
ciscoh3c
Rank: 1
等 级:新手上路
帖 子:14
专家分:7
注 册:2012-11-25
收藏
得分:0 
以下是引用hyg6005在2012-11-30 23:42:47的发言:

#include  
int main (void)
{
    int i;   
    char ch ;
    scanf ("%d",&i);
    printf ("i = %d\n",i);
 
    while ((ch=getchar()) !=  '\n')
        continue;   
    int j;  
    scanf ("%d",&j);
    printf ("j = %d\n",j);
return 0;
} 这样是可以运行输出的啊! 问题似乎没有说清楚!是两个int j 还是一个int j在不同的位置呢?而且你检查你的  {}是不是成对的 ,我看见了三个!这个应该是错误的写法吧? 个人不建议把int j放在下面 如果J输入的不是整数类型的话  会出现垃圾字符吧?  说错了  还请高手指点!

 
想想。你说的感觉对极了。呵呵!
2012-12-01 10:20
ciscoh3c
Rank: 1
等 级:新手上路
帖 子:14
专家分:7
注 册:2012-11-25
收藏
得分:0 
以下是引用qunxingw在2012-11-30 23:18:41的发言:

可以呀,不过你的循环有什么作用呢。
就向你楼下说的啊。就来去除你第一次输入遗留下来的垃圾字符啊。
2012-12-01 10:21
快速回复:求大神帮我看个简单的问题。我不能理解哎。郁闷
数据加载中...
 
   



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

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