当前位置: 代码迷 >> C语言 >> [求助]-程序语句不是顺序执行,已解决,在这谢谢各位热心帮助,有兴趣知道答案 ...
  详细解决方案

[求助]-程序语句不是顺序执行,已解决,在这谢谢各位热心帮助,有兴趣知道答案 ...

热度:116   发布时间:2007-10-25 22:42:01.0
[求助]-程序语句不是顺序执行,已解决,在这谢谢各位热心帮助,有兴趣知道答案的进.

#include "stdio.h"
#include "iostream.h"
#include "stdlib.h"
void main()
{
FILE *fp;
char ch,fln[20];
cout<<"输入文件名:";
cin>>fln;
if((fp=fopen(fln,"w+"))==NULL)
{
cout<<"Can't open file"<<endl;
exit(0);
}
cout<<"输入你想说的话,'#'-结束."; //15
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);
putchar(ch);
ch=getchar();
}
fclose(fp);
}

例如:我的输入及显示:
输入文件名:file.txt
让我们疯狂起来吧。。。。^_^。。。
让我们疯狂起来吧。。。。^_^。。。

输入你想说的话,'#'-结束.Press any key to continue

“输入你想说的话,'#'-结束.”--至程序结束时才显示。。。按源程序不该这样的,
帮忙解释下。。。谢了。。。

[此贴子已经被作者于2007-11-8 17:13:26编辑过]

搜索更多相关的解决方案: 语句  顺序  兴趣  热心  

----------------解决方案--------------------------------------------------------
发错地方了
这是C论坛
不过学习下~~
----------------解决方案--------------------------------------------------------
好像vc6里面用getchar经常会出现这个问题
----------------解决方案--------------------------------------------------------
不知道你的程序是怎么能运行的,不知道用的啥编译器~
"iostream.h"不报警告吗? GCC有警告~

cout<<"输入你想说的话,'#'-结束.";
ch=getchar();

getchar是取字符~
想说的话应该是字符串~应该有个循环获取字符把~


----------------解决方案--------------------------------------------------------

回复楼上,用vc编译可通过的。。。


----------------解决方案--------------------------------------------------------

回复3楼,好像不是getchar的问题,我用"scanf("%c",&ch);"代替"ch=getchar()",运行后结果还是一样的。。。
麻烦天之涯版主,再花点时间帮帮忙。。。


----------------解决方案--------------------------------------------------------

试过后觉得很奇怪
在C里是可以的..
在你这个程序里居然WHILE优先执行了!


----------------解决方案--------------------------------------------------------
只是输入、输出用了c++的标准输入输出流。。。高手或版主进来看看啊,我想知道这问题的答案。。。
----------------解决方案--------------------------------------------------------

热心人都到哪去了? 我自己顶起来,嘿嘿。。。


----------------解决方案--------------------------------------------------------
我继续顶,顶起来。。。嘿嘿。。。
----------------解决方案--------------------------------------------------------
  相关解决方案