C 创建向量计算器附加函数。正在尝试向其添加任何值

C 创建向量计算器附加函数。正在尝试向其添加任何值,c,C,所以我在向量计算器上遇到了更多的问题,我不能完全确定如何得到一个浮点值来附加到向量上。append函数已经生成并正常工作,但我唯一的问题是“如果用户想在向量中放入0怎么办?” 现在,我正在使用一个检查来查看浮点值是否为0,但显然它不起作用,因为它将分割出一个无效的操作数。不管怎样,我是否可以看到浮点值不是输入的,就是不是数字?到目前为止,这是我遇到麻烦的部分的一个片段: //Vector that is intialized Vector * myVector = alloc_vec(); //

所以我在向量计算器上遇到了更多的问题,我不能完全确定如何得到一个浮点值来附加到向量上。append函数已经生成并正常工作,但我唯一的问题是“如果用户想在向量中放入0怎么办?”

现在,我正在使用一个检查来查看浮点值是否为0,但显然它不起作用,因为它将分割出一个无效的操作数。不管怎样,我是否可以看到浮点值不是输入的,就是不是数字?到目前为止,这是我遇到麻烦的部分的一个片段:

//Vector that is intialized
Vector * myVector = alloc_vec();
//character for the options
char optionSelect[100];
//character that picks out the selection.
char select;
//A float for the operations that require an option.
float myScales = 0;

printf("Please enter a selection: ");
fgets(optionSelect, 100, stdin);
sscanf(optionSelect, "\n%c%f", &select,&myScales);

...

else if(select == 'a')
{
    if(myScales != 0)
        {
            myVector = extend_vec(myVector, myScales);
        }
        else
        {
            printf("No operand specified.\n");
        }
}

如何确保从-inf到inf的任何浮点值都可以添加,但选择“a”后会出现无效的情况,例如字母或没有输入?

解决了这一问题,如果您将myScales设置为0.0/0.0以获得一个NaN(大概是?)数字,然后检查myScales==myScales,然后再检查其余部分,并将myScales设置回0.0/0.0,应该可以工作