可以运行,但是没有效果。运行时,当输入字符串完成后按回车就是换行的效果,原来输入的字符串没有被输出,按Ctrl + Z反而变成撤销效果,按Ctrl + D也没效果,在Linux下使用的是QT_SDK环境。
可以运行,但是没有效果
没错的代码,按Ctrl + D也没效果
追答你为啥要按Ctrl + D呢?你按Ctrl + D相当于什么都没有输入啊,当然没有效果啦!
你要按a,然后按回车
getchar()仅仅是取得一个字符,如果你要输入一个字符串,并让他获取之后输入,应该用
gets()和puts()这两个函数!不应该用getchar()和putchar()
不要说在Linux,在Windows你用getchar()然后就想获取字符串也是不行的
我写的代码是:
#include
int main()
{
int c = 0;
while ((c = getchar()) != EOF)
{
putchar(c);
}
return 0;
}
在Linux下没有任何效果,而在Windows下输入一行字符串并按回车后,程序就自动会把你所输入的字符串重新输出出来。这是怎么回事呢?
你的代码没有问题,在我这里运行正常:
$ cat test.c
#include
int main(void)
{
int c = 0;
while ((c = getchar()) != EOF)
putchar(c);
return 0;
}
$ gcc -o test test.c
$ ./test
hello
hello
说明:上面输入了hello然后按回车,下面也会出现hello,然后按下Ctrl+D就结束了,说明读到了EOF
你的Linux怎么会没有效果呢?你是什么发行版?哪个版本的Linux ?
用gcc -Wall -o test test.c 编译 有什么提示输出吗?
我的是Ubuntu11.04 64bit版的,我用的不是GCC开发工具,我用的是QT_SDK开发工具
你在胡说什么?关指针什么事?