while(~scanf("%*s%lf%lf",&w,&p))
时间: 2023-12-05 16:40:56 浏览: 121
蓝桥杯部分进阶题目题解,c/c++程序设计赛道
这段代码是一个while循环,它的循环条件是当scanf函数返回值不为EOF时执行循环体。函数中的%*s表示读取一个字符串并忽略它,%lf表示读取一个double类型的值。所以这段代码的作用是不断读取两个double类型的值w和p,直到读取到文件结尾为止。读取到的每一对w和p都会被乘起来并加到ans变量中,最后输出ans的值。 ~是按位取反的操作符,所以while(~scanf("%*s%lf%lf",&w,&p))等价于while(scanf("%*s%lf%lf",&w,&p)!=EOF)。
阅读全文