c - 当我在函数中放置一个十进制数时,它会循环到 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);
解决方案
推荐阅读
- c - 如何使用宏来计算结构中字段的偏移量?
- azure - az 订阅名称中的特殊字符会中断搜索
- python - 使用带有正则表达式作为键的 dict 进行多个正则表达式替换
- php - 在 Laravel 7 中使用非 Laravel 包
- excel - 使用 PowerShell,取消保护 Excel 工作簿的功能正确,但工作表没有
- python - pywavefront - 如何提取每个顶点的颜色?
- sql - SQL Server 如何使用 SELECT 和 GROUP BY 子句进行更新
- amazon-web-services - 在 terraform 中获取 aws 数据而不在 terraform 中创建资源
- javascript - 如何在不为数组中的每个元素添加条件的情况下使 IF 循环动态化?
- javascript - 如何使用java脚本将单词向右对齐