variable declaration within the while loop C/C++
问题 according to me following while loop should be infinite but it runs only thrice main() { int i=3; while(i--) { int i=100; i--; printf("%d..",i); } } it outputs 99..99..99 but according to me it should run infinite times as every time control enters while loop it gets value 100.so it will never reach zero. just to experiment i replaced int i=100; with i=100; in side the while loop and now it runs infinite times..WHY??? 回答1: The variable i that checks the condition is the one you declared in