| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 339 人关注过本帖
标题:请大家帮忙看看,这个程序哪里错了~~
只看楼主 加入收藏
foruner
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-11-4
收藏
 问题点数:0 回复次数:4 
请大家帮忙看看,这个程序哪里错了~~
#include <stdio.h>
int main () {
    char c1;
    for (; getchar() != '\n'; ) {
        c1 = getchar();
        printf("%c", c1);
    }
    printf("\n");
    return 0;
}
输入abcdef 回车
输出 bdf
2015-11-11 21:32
li459461891
Rank: 2
等 级:论坛游民
帖 子:27
专家分:89
注 册:2015-11-5
收藏
得分:0 
因为你有两个getchar()

这样改:
程序代码:
#include <stdio.h>
int main () {
    char c1;
    for (; (c1 = getchar()) != '\n'; ) {
        //c1 = getchar();
        printf("%c", c1);
    }
    printf("\n");
    return 0;
}
2015-11-11 22:10
li459461891
Rank: 2
等 级:论坛游民
帖 子:27
专家分:89
注 册:2015-11-5
收藏
得分:0 
VS2010运行如下:
图片附件: 游客没有浏览图片的权限,请 登录注册
2015-11-11 22:11
a974723617
Rank: 1
等 级:新手上路
帖 子:7
专家分:5
注 册:2015-10-20
收藏
得分:0 
楼上以给正确答案
2015-11-12 08:45
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
程序代码:
#include <stdio.h>

int main( void )
{
    for( int c; c=getchar(), c!=EOF && c!='\n'; )
        putchar( c );
    putchar( '\n' );

    return 0;
}
getchar的返回类型是int,如果截短为char后,再跟EOF比较就没意义了,因为无法区分出是读失败而返回EOF,还是正好读取到一个值为 (char)EOF 的字符。
2015-11-12 09:16
快速回复:请大家帮忙看看,这个程序哪里错了~~
数据加载中...
 
   



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

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