如何跳出这个字符串输入的循环

freelywinder 2014-09-02 04:47:15
#include<stdio.h>
void get(char * str,int n);
void main()
{
int m;
printf("你最多将会输入多少个字符?");
scanf("%d",&m);
char str[m];

putchar(getchar());//丢弃换行
printf("请输入你想输入的话(最多不超过%d个字符):\n",m-1);
get(str,m);
}

void get(char * str,int n)
{
while(fgets(str,n,stdin))
//当遇到 文件结尾时跳出循环,但是可是才是文件结尾呢?
//我输入完键入回车并不会跳出循环,那要如何跳出循环呢?
fputs(str,stdout);
// fgets(str,n,stdin);
// fputs(str,stdout);
}


fgets函数说遇到文件尾就返回0,可是对于交互式输入,什么情况才是文件尾,不是回车是什么?
...全文
261 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2014-09-03
  • 打赏
  • 举报
回复
windows下是 Enter,Ctrl+Z,Enter
闲云阁 2014-09-02
  • 打赏
  • 举报
回复
顶1L。。。
wang73ying 2014-09-02
  • 打赏
  • 举报
回复
1楼 答案是正确的
ForestDB 2014-09-02
  • 打赏
  • 举报
回复
顶1L。。。
神奕 2014-09-02
  • 打赏
  • 举报
回复
手动输入,windows下是 Ctrl+Z , Linux下是 Ctrl+D

33,321

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧