ช่วยอธิบายโค๊ดภาษา C ให้หน่อยครับ

เริ่มโดย Aonz, 04 มีนาคม 2013, 10:56:08

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

Aonz

อาจารย์ให้โค๊ดนี้มา
#include<stdio.h>
#include<conio.h>
void main()
{
int tw[3][3]={{12,14,16},{11,131,5},{7,8,9}};
int r,c;
clrscr();
for(r=0;r<=2;r++)
{
printf("\n");
for(c=0;c<2;c++)
printf("%d\t",tw[r][c]);
}
getch();
}


พอผมคอมไพ แล้วได้แบบนี้
14              12

11               131
       
7                    8


ช่วยอธิบายหน่อยครับว่าทำงานยังไง ทำใมถึงผลลัพถึงเป็นแบบนั้น ผมไม่รุ้เรื่องนี้เลย แต่ชอบอยากจะป็นมัน  :wanwan017:
[direct=http://www.freemarketarea.com]พื้นที่ลงประกาศฟรี ล็อคอินด้วย facebook [/direct]

platinum


ขออธิบายสั้นๆนะครับ

int tw[3][3]={{12,14,16},{11,131,5},{7,8,9}};
หมายถึงสร้าง array ขนาด 3 * 3 และกำหนดค่า

for(r=0;r<=2;r++)
วน loop โดยเริ่มจาก 0 1 2 แล้วหยุด (เพื่อกำหนดค่าของ row)

for(c=0;c<2;c++)
วน loop โดยเริ่มจาก 0 1 แล้วหยุด (เพื่อกำหนดค่าของ column)

printf("%d\t",tw[r][c]);
สั่งแสดงผลค่าใน array ในตำแหน่งที่ row = r / column = c

ลำดับเป็นแบบนี้
r=0 c=0
r=0 c=1
r=1 c=0
r=1 c=1
r=2 c=0
r=2 c=1
[direct=http://chill-and-smile.com]สินค้าราคาถูก[/direct]

wiroon

#2
   int tw[3][3]={{12,14,16},{11,131,5},{7,8,9}};
       กำหนดตัวแปรชื่อ tw เป็นแบบ array เก็บเลขจำนวนเต็มขนาด 3x3 โดยมีค่าของ array ตามใน {}
   int r,c;
       กำหนดตัวแปร r และ c เป็นตัวเลขจำนวนเต็ม

   clrscr();
       ล้างหน้าจอก่อนแสดงผล
      for(r=0;r<=2;r++)
               วนลูป 3 รอบ โดยเริ่มจาก r มีค่าเท่ากับ 0 และวนไปจนกระทั่ง r มีค่าเท่ากับ 2 นั่นคือ r=0, r=1 ,r=2
      {
         printf("\n");
                       แสดงผลการขึ้นบรรทัดใหม่
         for(c=0;c<2;c++)
                       วนรูป 2 รอบ โดยเริ่มจาก c มีค่าเท่ากับ 0 แล้ว และวนจนกระทั่ง c มีค่าน้อยกว่า 2 นั่นคือ c=0, c=1
         printf("%d\t",tw[r][c]);
                       แสดงผลตัวเลขใน array tw ตำแหน่งของ array ที่ r และ c และให้ tab ตามท้าย

เช่น รอบแรก r=0 และ c=0 ของลูปใหญ่
ดังนั้นจะแสดงค่าของ array tw[0][0] นั่นคือ 12 และต่อด้วย tab

และรอบสองของลูปเล็ก r ยังคง = 0 แต่ c ค่า = 1 แล้ว
ดังนั้นจะแสดงค่าของ array tw[0][1] นั่นคือ 14 และต่อด้วย tab

สรุปบรรทัดแรกจะได้
12             14


ต่อด้วยแสดง \n คือขึ้นบรรทัดใหม่

รอบต่อไป รอบที่ 2
r=1 c=0
ได้ tw[1][0] = 11
และ
r=1 c=1
ได้ tw[1][1] = 131
แสดงผล
11          131


ต่อด้วยแสดง \n คือขึ้นบรรทัดใหม่

รอบต่อไป รอบที่ 3
r=2 c=0
ได้ tw[2][0] = 7
และ
r=2 c=1
ได้ tw[2][1] = 8
แสดงผล
7         8

      }

จบ loop
      


คอมไพ แล้วได้แบบนี้

14              12  <--- บรรทัดนี้น่าจะพิมพ์มาผิด จริงๆแล้วต้อง 12   14

11               131
       
7                    8
[direct=http://www.banhealthy.com/]เว็บสุขภาพ[/direct]
[direct=http://www.thjob.com/]หางานทำ[/direct][direct=http://www.banhealthy.com/]อาหารเพื่อสุขภาพ[/direct][direct=http://www.atchon.com/]ลงประกาศ ซื้อ ขาย บ้านชลบุรี[/direct]
[direct=https://goo.gl/GzEBuu]รองเท้านักเรียน รองเท้าพละ ราคาถูก[/direct]

Aonz

[direct=http://www.freemarketarea.com]พื้นที่ลงประกาศฟรี ล็อคอินด้วย facebook [/direct]

ThaiSeoBar.com


Shiseido

[direct=https://www.ตับแข็ง.com]ตับแข็ง[/direct] [direct=https://green-curmin.com/]green curmin[/direct][direct=https://shop.line.me/@arshithong]arshithong gold[/direct] [direct=https://shop.line.me/@macunox]macunox มาคูน็อกซ์[/direct]
[direct=https://shop.line.me/@greencurmin]กรีนเคอมิน[/direct]

pash