c++怎么输入结束
4个回答
展开全部
1、通过判断输入是否等于EOF,可以结束输入。
EOF 是个宏,其意思是:End Of File,文件尾标志。 从数值上来看,就是整数-1。
libio.h: # define EOF (-1)
当读文件操作时,遇到文件结束位置或读数据出错均会返回 EOF。 (C语言中所有的输入输出操作均是按读文件的思想来设计的,或者说,是文件操作的一种特例,如getchar()就是fgetc(stdin) 的一个宏 )。int getchar() ; //从标准输入缓冲区读取一个字符,成功返回该字符的ASCII值,出错,返回EOF。
如何在键盘输入时,产生EOF呢? 不同的系统方法不同:
linux系统下,在输入回车换行后的空行位置,按 ctrl+d (先按ctrl键,不放,再按d键),windows系统下,在输入回车换行后的空行位置,按 ctrl+z,再回车确认。
2、以下代码供参考:
#include <stdio.h>
void main()
{
int ch;
do {
ch=getchar();
printf("ch=%d\n", ch ); //输出读返回的ch值,读到EOF会输出-1
} while ( ch!=EOF );
}
展开全部
看你的编译器了 我用的code::blocks 输入完毕之后用ctrl+D 结束输入
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在windows环境下文件结尾可用 回车,ctrl+Z,回车 来输入.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,我真的不知道这个程序你想干嘛?你的prech初始值是‘\0';所以更本不可能进入if(prech==’f‘)while(cin>>currch)这是个永真,也就是说不会跳出循环的。我该了一下,由于不知道你想完成啥功能所以不知道网哪儿改,但是至少能跳出去。
#include
using namespace std;
int main()
{
char currch,prech='f';
int ffcnt=0,flcnt=0,ficnt=0;
int xyz=0;
while(xyz==0&&cin>>currch)
{ if (prech=='f')
switch(currch){
case 'f': ++ffcnt;cout<>xyz;break;
case 'l': ++flcnt;cout<>xyz;break;
case 'i': ++ficnt;cout<>xyz;break;}
}
cout<<"number of \"ff\":\t"<<ffcnt<<'\n';
cout<<"number of \"fl\":\t"<<flcnt<<'\n';
cout<<"number of \"fi\":\t"<<ficnt<<endl;
return 0;
}
#include
using namespace std;
int main()
{
char currch,prech='f';
int ffcnt=0,flcnt=0,ficnt=0;
int xyz=0;
while(xyz==0&&cin>>currch)
{ if (prech=='f')
switch(currch){
case 'f': ++ffcnt;cout<>xyz;break;
case 'l': ++flcnt;cout<>xyz;break;
case 'i': ++ficnt;cout<>xyz;break;}
}
cout<<"number of \"ff\":\t"<<ffcnt<<'\n';
cout<<"number of \"fl\":\t"<<flcnt<<'\n';
cout<<"number of \"fi\":\t"<<ficnt<<endl;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询