Mac下gcc和vim配合使用出现一些问题,望能指点迷津 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
W1nd

Mac下gcc和vim配合使用出现一些问题,望能指点迷津

  •  
  •   W1nd 2013 年 6 月 3 日 4564 次点击
    这是一个创建于 4708 天前的主题,其中的信息可能已经有所发展或是发生改变。
    C语言新手,正在学习C语言中,我的电脑是MacBook Pro,所以我使用了vim+gcc,gcc是从Xcode里安装了Command tools,因为我在V2EX里提问过,大家是这么建议我的,VIM是一个强大的命令行工具!我现在使用VIM编写,书看的是C程序设计语言,学到数组这里,我发现里面的范例编译之后,打开a.out或者在终端里输入./a.out没有出现应该有的结果,而是使得终端进入了a.out进程。但是我在学习前面一开始的华氏温度与摄氏温度对照表敲出来的重新编译运行没有任何问题,我在思考是不是getchar的问题,不能在终端中运行?因为我在学习到了getchar了以后写的代码编译出来都无法成功运行,我想让指点指点,不知道我的猜想是错是对?望不要说现在让我用Xcode,因为我既然我现在已经在使用Vim+gcc,就有个有始有终吧!
    第 1 条附言    2013 年 6 月 4 日
    #include <stdio.h>
    main()
    {
    int c, i, nwhite, nother;
    int ndigit[ 10 ];

    nwhite = nother = 0;
    for ( i = 0; i < 10; ++i)
    ndigit[ i ] = 0;
    while ( ( c = getchar() ) != EOF)
    if ( c >= '0' && c <= '9' )
    ++ndigit[ c - '0' ];
    else if ( c == ' ' || c == '\n' || c== '\t' )
    ++nwhite;
    else
    ++nother;
    printf( "digits =" );
    for ( i = 0; i < 10; ++i )
    printf( " %d", ndigit[ i ] );
    printf( ", white space = &d, other = &d", nwhite, nother);
    }
    这是书中的代码:统计各个数字、空白字符(空格符、制表符及换行符)以及所有其他字符出现次数的程序。
    我敲好以后编译然后直接打开a.out出现的是这样的:
    https://copy.com/FPXigpyAKC9y
    如果是使用终端打开的话是这样的:
    https://copy.com/ktbrhnDTO202
    这是刚开始学时第一项:华氏温度与摄氏温度的倒序
    正常运行
    https://copy.com/YmB2QvNxrNQ8
    13 条回复    1970-01-01 08:00:00 +08:00
        1
    hector  
       2013 年 6 月 3 日
    看了半天没懂是什么意思,我的是mvim,配置文件 https://github.com/myourys/Vimrc
    然后一键编译运行
    tywtyw2002
        2
    tywtyw2002  
       2013 年 6 月 3 日
    贴出来代码呀? 可能是溢出了吧 或者其他的
    Ricepig
        3
    Ricepig  
       2013 年 6 月 3 日 via iPhone
    貌似gcc在osx上编译以后不是.out哇,看看有别的可执行文件?
    kqz901002
        4
    kqz901002  
       2013 年 6 月 3 日
    @Ricepig 直接对c文件进行编译不指定输出的确是out文件
    sqbing
        5
    sqbing  
       2013 年 6 月 3 日
    @kqz901002 呵呵
    pagict
        6
    pagict  
       2013 年 6 月 3 日
    贴代码
    swulling
        7
    swulling  
       2013 年 6 月 3 日
    和vim有啥关系
    ivanlw
        8
    ivanlw  
       2013 年 6 月 4 日   1
    getchar是接受输入的吧?你运行程序后就一直等待你输入,直到EOF吧
    mikewoo
        9
    mikewoo  
       2013 年 6 月 4 日   1
    统计字数的 你不输入字怎么统计呢?在等你输入呢,直到遇到EOF(Ctr+d)
    还有有几处%d 你写成了&d了
    W1nd
        10
    W1nd  
    OP
       2013 年 6 月 4 日
    @mikewoo 抱歉,提问的时候思考的不充分,忘记说我输入字了也是毫无反应,https://copy.com/OqsmhvxmDEWV这是我重新修改以后执行的,输入过也没有用。
    贴一下我重新修改的代码
    #include <stdio.h>
    main()
    {
    int c, i, nwhite, nother;
    int ndigit[ 10 ];

    nwhite = nother = 0;
    for ( i = 0; i < 10; ++i)
    ndigit[ i ] = 0;
    while ( ( c = getchar() ) != EOF)
    if ( c >= '0' && c <= '9' )
    ++ndigit[ c - '0' ];
    else if ( c == ' ' || c == '\n' || c== '\t' )
    ++nwhite;
    else
    ++nother;
    printf( "digits =" );
    for ( i = 0; i < 10; ++i )
    printf( " %d", ndigit[ i ] );
    printf( ", white space = %d, other = %d", nwhite, nother);
    }
    mikewoo
        11
    mikewoo  
       2013 年 6 月 4 日   1
    @W1nd 最后以EOF结束? 就是输入完了按control+d
    W1nd
        12
    W1nd  
    OP
       2013 年 6 月 4 日
    @mikewoo 非常感谢啊!有效了,在终端里EOF一定要Control+D,原来是这样!
    xff1874
        13
    xff1874  
       2013 年 6 月 4 日
    别用vim,改sublime text2
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2841 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 49ms UTC 01:14 PVG 09:14 LAX 18:14 JFK 21:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86