這個函數的想法是要求一個正值,並確保一個負值不會使用遞歸插入。正值輸入C
然而,當我測試它,如果我輸入的第一個值是負數,而該函數的工作,並不允許代碼繼續下去,直到輸入一個正值,代碼仍然打印插入的第一個值,無論如果它滿足了回報的要求。
#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());
}
你真的不想爲此使用遞歸 - 使用循環。 – 2015-02-09 17:45:48