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

2013-06-03 11:30:33 +08:00
 W1nd
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,就有个有始有终吧!
4029 次点击
所在节点    程序员
13 条回复
hector
2013-06-03 15:53:59 +08:00
看了半天没懂是什么意思,我的是mvim,配置文件 https://github.com/myourys/Vimrc
然后一键编译运行
tywtyw2002
2013-06-03 17:56:02 +08:00
贴出来代码呀? 可能是溢出了吧 或者其他的
Ricepig
2013-06-03 18:09:19 +08:00
貌似gcc在osx上编译以后不是.out哇,看看有别的可执行文件?
kqz901002
2013-06-03 20:01:44 +08:00
@Ricepig 直接对c文件进行编译不指定输出的确是out文件
sqbing
2013-06-03 20:42:35 +08:00
@kqz901002 呵呵
pagict
2013-06-03 21:16:56 +08:00
贴代码
swulling
2013-06-03 21:18:40 +08:00
和vim有啥关系
ivanlw
2013-06-04 03:34:31 +08:00
getchar是接受输入的吧?你运行程序后就一直等待你输入,直到EOF吧
mikewoo
2013-06-04 06:01:04 +08:00
统计字数的 你不输入字怎么统计呢?在等你输入呢,直到遇到EOF(Ctr+d)
还有有几处%d 你写成了&d了
W1nd
2013-06-04 12:55:09 +08:00
@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
2013-06-04 13:14:34 +08:00
@W1nd 最后以EOF结束? 就是输入完了按control+d
W1nd
2013-06-04 13:52:58 +08:00
@mikewoo 非常感谢啊!有效了,在终端里EOF一定要Control+D,原来是这样!
xff1874
2013-06-04 14:09:05 +08:00
别用vim,改sublime text2

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/71039

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX