当我在函数中放置一个十进制数时,它将循环为堆栈溢出

问题描述

我有一个函数,您可以在其中输入一个百分比来计算成绩。 一切正常,但是当您输入小数时,它会发疯并循环。

这是什么问题?

这是我的职能

float capturacalif(float valorporcentual) {
    float calific;
    float multiplicador = valorporcentual / 100;

    printf("Ingrese la calificación %i: ",repet);
    scanf("%f",&calific);
    if ((calific >= 4)&&(calific <= 10))
    {
        printf("\n");
        float calificfin = calific * multiplicador;
        repet++;
        return calificfin;
    }
    else {
        printf("El valor no es válido,debe estar entre 4 y 10");
        capturacalif(valorporcentual);
    }
}

主呼叫

float calificacion1 = capturacalif(30);

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)