Articles
for (;;)는 무엇을 의미합니까? for (;;) it에 대한 설명을 찾을 수 없습니다.
@mistichor C / C ++ for 루프는 3 개의 문을 사용합니다. for (;;)는 3 개의 빈 문이있는 for 루프이고, 세미콜론은 빈 문을 구분합니다. .
while 루프와 for 루프의 차이점은 무엇입니까?
On 2월 17, 2021 by adminwhile 루프와 for 루프의 차이점은 무엇입니까? 똑같은 것 같습니다.
댓글
Answer
while
루프는 일반적으로 주어진 조건이 참이 될 때까지 무언가를 반복해야 할 때 사용됩니다. :
inputInvalid = true; while(inputInvalid) { //ask user for input invalidInput = checkValidInput(); }
반면에 for
루프는 일반적으로 주어진 숫자를 반복해야 할 때 사용됩니다. 횟수 :
for(var i = 0; i < 100; i++) { ...//do something for a 100 times. }
원하는 경우 서로 바꿔서 사용할 수 있습니다.
inputInvalid = true; for(;;) { if(!inputInvalid) { break; } //ask user for input invalidInput = checkValidInput(); }
또는
inputInvalid = true; for(;inputInvalid;) { //ask user for input invalidInput = checkValidInput(); }
그리고 :
var i = 0; while(i < 100) { //do your logic here i++; }
댓글
- 보시다시피 이러한 비표준 사용은 덜 우아하고 읽기 어려운 코드를 생성합니다. 내부적으로 서로 다른 루프 유형은 모두 동일한 조건부 goto이므로 달성하려는 작업에 구문 적으로 가장 잘 맞는 유형을 사용하십시오.
- 아래 코드에서도 무언가를 할 수 있다고 말할 수 있습니다. 10 번. (for loop @npinti와 같이 인수를 채 웁니다) var count = 0; while (count < 10) {document.writeln (" 반복합니다! ") ; count ++; }
- C에서는 세 번째 예제를
for(invalidInput = checkValidInput();inputInvalid;invalidInput = checkValidInput()){}
로 다시 작성할 수 있습니다. 그러나 네, 기본 요점은 완전히 정확하며for
루프는 실제로 구문 설탕입니다. 일부 언어는 그것 없이도합니다. Cfor
루프는 iv id = “a49e8ba4e6가있는 Pascal과 같은 언어와 달리 정말 멍청한while
이상한 짐승입니다. “>
루프는 이산 정수를 단계별로 실행하는 데만 사용할 수 있습니다.
답변
둘 사이에는 기본 차이가 있습니다. for
루프를 사용하려면 루프 본문이 실행되는 빈도 를 미리 알아야합니다. 이것은 당신이 단순히 그것을 모를 때 많은 문제가 있기 때문에 큰 제한입니다. 때때로 당신은 그 숫자가 전혀 유한한지 아닌지조차 알지 못합니다!
예를 들어 사용자에게 일련의 이름을 입력하도록 요청하는 프로그램을 생각해보십시오. 치과 의사를위한 환자 관리 시스템이 있습니다. 얼마나 많은 환자가 치과에 들어갈 것인지 미리 어떻게 알 수 있습니까? 당신은 그럴 수 없습니다. for
루프를 작성할 수 없습니다.
댓글
- for 루프를 일찍 종료하는 방법에는 여러 가지가 있으므로 루프를 반복하려는 최대 시간 만 알면됩니다. 또한 for 루프의 조건부 부분을 ' 오용하려는 경우 while 루프가 할 수있는 모든 작업을 수행 할 수 있습니다.
- 어느 쪽 언어에 대해 이야기하고 있습니까?파스칼에서는 당신의 주장에 약간의 장점이 있지만 (한계가 추악하기 때문에 많은 수를 하드 코딩) C에서는
for
와 함께 임의의 조건을 사용할 수 있습니다.for(;xxx;)
와while(xxx)
간에 차이가 없습니다. - 아래쪽 화살표. 카오스는 정확합니다.
initializer;
다음에while(condition){ ... increment;}
가 오는 것은for(initializer; condition; increment){ ... }
와 동일합니다.
for
루프는 구문 설탕 일 뿐이며while
에서 지원하는 사용 사례의 하위 집합을 지원합니다. 때때로 " 구문 설탕 "이 무시되지만 실제로는 더 깔끔하고 이해하기 쉬운 코드를 만드는 방법으로 간주되어야합니다. .for
루프가 실제로는 화려한 옷의while
루프라고 주장 할 수 있습니다.