|
|
下面的程序
- //io.c
- #include <stdio.h>
- main()
- {
- int c;
- c = getchar();
- putchar(c);
- }
复制代码
在linux下编译执行
gcc io.c
./a.out
没有输出字符,在tc2.0和vc6下有输出。若在putchar(c)后面再加一条语句putchar('\n')或者改成printf('%d\n", c)则有字符输出,若把printf语句的\n去掉,也没有输出。请问这是什么原因?
环境
uname -a
Linux debian 2.6.15-1-686 #1 Wed Jan 18 15:04:35 UTC 2006 i686 GNU/Linux
gcc -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,java,f95,objc,ada,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.0 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-java-awt=gtk-default --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre --enable-mpfr --disable-werror --with-tune=i686 --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.0.3 20060115 (prerelease) (Debian 4.0.2-7)
ldd a.out
linux-gate.so.1 => (0xffffe000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7e4b000)
/lib/ld-linux.so.2 (0xb7f9a000)
libc版本
glibc-2.3.5 |
|