此函数的思想是要求一个正值,并确保不会使用递归插入一个负值。
然而,当我测试它时,如果我输入的第一个值是负数,而函数工作并且在输入正值之前不允许代码继续,代码仍然打印插入的第一个值,无论它是否满足返回要求。
#include <stdio.h>
float scanval()
{
float x;
printf("Insert positive value \n");
scanf("%f", &x);
if(x<0){
printf("Not a valid value \n");
scanval();
}
return x;
}
main()
{
printf("Value given %f \n", scanval());
}
最佳答案
也许你应该记得保存返回值:
x = scanval()
在函数内部。
关于c - 正值输入 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28415956/