首页 > 解决方案 > 当我在函数中放置一个十进制数时,它会循环到 Stack Overflow

问题描述

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

这里有什么问题?

这是我的功能

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);
    }
}

main 中的调用

float calificacion1 = capturacalif(30);

标签: cinputstack-overflow

解决方案


推荐阅读