while()的参数

如代码所示

while(~scanf("%lf%lf%lf",&L,&n,&C),L>=0&&n>=0&&C>=0)

其中的,是什么意思呢?

阅读 4.9k
4 个回答

逗号运算符,从左向右运行,取最右的结果

while循环中的条件可以是逻辑值或逻辑表达式,while(~scanf("%lf%lf%lf",&L,&n,&C),L>=0&&n>=0&&C>=0)中的条件是一个逻辑表达式,具体是一个逗号表达式,逗号这个运算符的计算方向是自左向右的,所以这个while中的表达式最终的结果是 L>=0&&n>=0&&C>=0 的计算结果.

对输入的字符进行分隔,这样就表示要输入3个

新手上路,请多包涵

while(~scanf("%lf%lf%lf"))可以简单理解多组输入然而L>=0&&n>=0&&C>=0逗号表达式也就是当L,n,C输入为负数时这个多组输入结束。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题