พึ่งเคยใช้งานครั้งแรกโปรดอ่านที่นี่! howtouse!
x
  • Register
หางานด้าน IT อยู่เหรอ?

อยากถามว่า for กับ while ในภาษา ซี ทำงานต่่างกันยังไงครับ

+1 vote

อยากถามว่า for กับ while ในภาษา ซี ทำงานต่่างกันยังไงครับ

ถามเมื่อ Jul 18, 2012 in C/C++ โดย Prince Fakelove (132 คะแนน)
   

4 Answers

+1 vote

ทำงานเหมือนกันคือทำหน้าที่ วน loop
 

แต่ การเอาไปใช้


for เหมาะกับ รู้จำนวน loop ที่แน่นอนว่า จะวนกี่ loop

เช่น วนลูป print ค่าในอาเรย์ ซึ่ง เรารู้อยู่แล้วว่า ตัวแปร อาเรย์ นี้มีขนาดเท่าไร


ส่วน while เราไม่รู้ว่าจะวนกี่รอบ แต่เราจะดัก expression ทุกรอบ 
ถ้าเงื่อนไขที่ดักเป็นจริง ก็ออกจาก loop ครับ

แต่สุดท้ายแล้ว เราจะใช้ยังไงก็ไม่ผิดหรอกครับ

ตอบเมื่อ Jul 18, 2012 โดย phanithanj (1,139 คะแนน)
0 votes
เพิ่มเติมนะครับ

for จะตรวจสอบ condition ก่อนการทำงานในส่วน { }

while จะตรวจสอบ condition หลังการทำงานในส่วน { }

อาจจะเห็นว่าไม่มีไรต่าง แต่ในบางโอกาส มันมีความแตกต่างในการใช้งานครับ
ตอบเมื่อ Jul 18, 2012 โดย Thanitphong Sungsunk (276 คะแนน)
ที่ตรวจสอบ condition หลังนี่มัน do { .. }while(..) ไม่ใช่เหรอครับ
ถ้า while(..) { ..} ก็ตรวจก่อนเหมือนกัน
while ก็ตรวจก่อนครับ
เออ จริงด้วย ผมเบลออีกแล้ว ขออภัยครับ
0 votes
เป้าหมายของ while กับ for เหมือนกันคือ ทำหน้าที่วนรอบซ้ำๆ กันตามเงื่อนไข แต่ for สามารถตั้งค่าตัวแปรและตั้งค่าการเปลี่ยนแปลงได้ที่ for เลยส่วน while จะเขียนแยก เช่น

อยากให้วน print 1-10

// for loop
int i;
for (i = 1; i <= 10; i++) { printf("%d\n", i); }

// while loop
int i = 1;
while (i <= 10) {
     printf("%d\n", i);
     i++; // i = i + 1;
}
ตอบเมื่อ Jul 18, 2012 โดย Thanabodee Charoenpi (666 คะแนน)
0 votes
while(condition) <<< ก็เอาเงื่อนไขร้อยแปดใส่ในนี้ได้เลยครับ

for(init ; condition ; addition) <<< ในกรณีใส่เงื่อนไขร้อยแปดก็ทำได้เหมือนกันนะครับแต่ว่าจะดูไม่ค่อยเป็นระเบียบเท่า while
ตอบเมื่อ Jul 22, 2012 โดย Nickyshox Bst (325 คะแนน)

Related questions

+2 votes
1 คำตอบ
440 views ถามเมื่อ May 22, 2012 in C/C++ โดย HuaNaa (455 คะแนน)
–2 votes
1 คำตอบ
325 views ถามเมื่อ Jan 8, 2013 in คำถาม IT ทั่วไป โดย March Smile (100 คะแนน)
+1 vote
2 คำตอบ
...