c语言问题,为什么陷入死循环?(当我输入时3.14])就是好奇输入符号会怎样,入门

#include #include int main(void) { const double ANSWER=3.14159; double response; printf("what is the value of pi?\n"); scanf("%lf",&response); while(fabs(response-ANSWER)>0.0001){ printf("try again!\n"); scanf("%lf",&response); } printf("close enough!\n"); return 0; }
匿名用户    2015-02-15 15:38    

满意回答

当读到 ] 的时候 scanf("%lf",&response); 会返回失败, 并且 ] 还在, 这样, 循最则环就会一直在 ] 这里称典录返回失败, 于是就死循环了. 你可药指以看scanf函数的返回值的说明.

匿名用户   2015-02-15 16:31
宝宝知道提示您:回答为网友贡献,仅供参考。

为您推荐:

其他回答

读到']'就不能继续读了,但又跳不出循环,就死循环了

匿名用户    2015-02-15 16:24