通过输入控制循环

EOF:在windows中用ctrl+z输出,在Mac中按contorl+d输出,输入EOF后退出输入,并执行后续程序(但是后续程序中的输入不执行)。

1. 字符输入函数
  1. 以输入回车或空格结束循环
    while((c = getchar())!= ‘\n’) 和 while((c = getchar())!= ’ ')
  2. 以停止输入结束循环
    while((c = getchar())!=EOF) 和 while(cin>>c)
  3. 按条件结束循环
    while(cin>>c)
    { if(c==-1) break; … …}
  • 因为getchar()是个函数,所以它即使是出现在循环判断表达式中也会被执行产生影响(实际上循环判断表达式中的所有操作都会被执行,只是一般的运算符执行后如果没有赋值就不会对程序有任何影响,而因为函数的操作是有影响的,所以我们一般要考虑判断表达式中的函数,除非这个函数的操作真的不影响程序),所以要用一个变量c将判断表达式中的get的char保存下来用于后续操作。
2. 格式化输入函数
  • 以上都是用getchar实现的,其只适用于输入的是字符的情况。如果是int或其他类型的输入,则要用scanf函数来控制了。scanf函数的返回值:如果输入的是EOF,返回EOF(即为-1);其他情况返回正确输入参数的个数。因此scanf可以用在以停止输入结束循环中,如while(scanf("%d%d%d", &a, &b, &c)!=EOF),这里就不需要变量存储输入了,存储的操作scanf已经实现了。另外提一下printf函数的返回值为输出的字符数,如printf(“1234\n”)返回5。
3.字符串输入函数
  1. char str[10];
    while(gets(str))
  • gets在正常输入时返回读入字符串的首地址,如果输入EOF就返回空指针NULL(NULL用在判断表达式中的效果和0一样),当输入EOF就停止循环输入字符串。
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值