如何在C中成对读取浮点数?

Loo*_*far 4 c floating-point io double scanf

编写一个请求两个浮点数的程序,并打印它们的差值除以它们的乘积.让程序循环通过成对的输入值,直到用户输入非数字输入.使用函数返回计算的值.

我已经成功地完成了这个练习而没有使用功能,但是使用功能无法正确完成.程序本身运行但没有返回任何值,实际上它崩溃了.

请任何帮助将不胜感激.

这是我的计划:

#include <stdio.h>
#include <string.h>

double result (double x, double y);

int main(void)
{
     double num1, num2, res;
     printf("This while calculate difference of two numbers by their product.\n");
     printf("Enter first number followed by second number\n");

     while (scanf("%lf %lf", &num1, &num2 ==2))
     {
         res= result(num1, num2);
         printf("the result is equal to %.3g\n", res);
         printf("Enter next set of numbers or q to quit\n");
     }
     return 0;
}
double result(double x, double y)
{
    double output;
    output = (y-x)/(x*y);
    return output;
}
Run Code Online (Sandbox Code Playgroud)

Lih*_*ihO 8

while (scanf("%lf %lf", &num1, &num2 ==2))
Run Code Online (Sandbox Code Playgroud)

本来应该是:

while (scanf("%lf %lf", &num1, &num2) ==2)
Run Code Online (Sandbox Code Playgroud)