กลุ่มผู้ดูแลระบบแห่งประเทศไทย กลุ่มผู้ดูแลระบบแห่งประเทศไทย
25 เมษายน 2014, 01:43:01 *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

Thaiadmin on Social NetworkThaiadmin on TwitterThaiadmin on Facebook Group

ข่าว: Thai@miN OnTour น้ำเอ่อ ป่าดึกดำบรรพ์ สวรรค์อุทัย 7-10 Dec คลิ้ก เพื่ออ่านรายละเอียด
  หน้าแรก   เวบบอร์ด   ค้นหา ช่วยเหลือ เจ้าหน้าที่ เข้าสู่ระบบ ลืมรหัสผ่าน? คำเแนะนำ สมัครสมาชิก  
+ กลุ่มผู้ดูแลระบบแห่งประเทศไทย » Developer Zone » App Development » หัวข้อ:
|-+ ข้อสงสัยเล็กๆน้อยๆ เกี่ยวกับภาษา C ทำไมต้องมี getch(); ก่อนจบโปรแกรม


หน้า: [1]   ลงล่าง
  เพิ่มบุ้คมาร์ค  |  พิมพ์  
ผู้เขียน หัวข้อ: ข้อสงสัยเล็กๆน้อยๆ เกี่ยวกับภาษา C ทำไมต้องมี getch(); ก่อนจบโปรแกรม  (อ่าน 7839 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
ก๊าก ก๊าก
บุคคลทั่วไป
« เมื่อ: 29 เมษายน 2007, 00:31:06 »

สำหรับหนังสือที่ผมเรียนอยู่นี้ เขาไม่ได้กล่าวว่า จะต้องจบโปรแกรมด้วย ฟังก์ชัน getch();
ก่อน แต่ปรากฎว่า ไม่สามารถรันได้ ( ใน Turbo C 2.01 ) ผมใช้ รุ่นเก่าโคตร โบราณคร่ำ
ครึ

อย่างเช่น ผมจะเขียนโปรแกรม

#include<stdio.h>
main()
{
   printf("This is C program \n");
}

ปรากฎว่ามันรันไม่ได้ แต่พอผมใช้

#include<stdio.h>
main()
{
   printf("This is C program\n");
getch();
}

ปรากฎว่า สมารถรับได้

** ความจริงฟังก์ชัน getch(); มันเอาไว้รับค่า character หรือตัวอักษรเพียงหนึ่งตัว
ไม่ใช่เหรอครับ คล้ายๆกับ scanf("%s",&variable); ประมาณนั้น แต่มันไม่น่าเกี่ยว
กับตัวนี้มาปิดโปรแกรม
ใครพอจะทราบบ้างครับ

ขอบคุณมากครับ

Share topic : บันทึกการเข้า
ชลดา
Thaiadmin Senator
*****

 Thaiadmin Cooperate
 Thaiadmin Management
 Thaiadmin Professional


จิตพิสัย: 53
ออฟไลน์ ออฟไลน์

กระทู้: 1,918

สมาชิกลำดับที่ 7

Posting Frequency


อยู่ด้วยความพอดี


เว็บไซต์






สมบูรณ์ 100%

« ตอบ #1 เมื่อ: 29 เมษายน 2007, 01:16:11 »

รันใน command prompt ดูสิครับ Smiley

<!-- คนหน้าตาดี -->
Share topic : บันทึกการเข้า

sompobm
บุคคลทั่วไป
« ตอบ #2 เมื่อ: 29 เมษายน 2007, 11:06:22 »

ที่ว่ารันไม่ได้มันขึ้นฟ้องว่าอะไรครับ
ส่วน getch(); ที่ใส่ไว้ท้ายก็เพราะว่าต้องการดูผลการรันอะครับ
ถ้าไม่ใส่ getch(); โปรแกรม พอ คอมไฟล์เสร็จ ก็จะจบเลย
แต่ถ้ามี getch(); จะค้างให้เรากด key ใดๆก่อนอะครับ

ผิดถูกไง แนะนำทีนะครับ ผมก็ไม่ค่อยเก่งเท่าไร อธิบายตามความน่าจะเป็นอะครับ


Share topic : บันทึกการเข้า
ก๊าก ก๊าก
บุคคลทั่วไป
« ตอบ #3 เมื่อ: 29 เมษายน 2007, 12:43:17 »

มันไม่ได้ฟ้องขึ้นว่าอะไรเลยนะครับแต่ว่า
..

มันไม่มีอะไรเกิดขึ้นเลยครับ คือมันยังอยู่
หน้าเดิม ไม่ขยับไปไหน

แต่อันที่จริงไม่ได้เป็นปัญหาใหญ่อะไรนะครับ
ผมแค่สงสัยว่าทำไมต้องใส่ getch();

แต่ตอนนี้ทราบแล้ว ต้องขอขอบคุณทุกท่านมากครับ


Share topic : บันทึกการเข้า
Jiggy
Stager Tier 1
*


จิตพิสัย: 10
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 838

สมาชิกลำดับที่ 3098

Posting Frequency


TH@min Membership









 ระดับถัดไป:
 54.29% ( 38 / 70 )

« ตอบ #4 เมื่อ: 29 เมษายน 2007, 13:56:16 »

ที่ว่ารันไม่ได้มันขึ้นฟ้องว่าอะไรครับ
ส่วน getch(); ที่ใส่ไว้ท้ายก็เพราะว่าต้องการดูผลการรันอะครับ
ถ้าไม่ใส่ getch(); โปรแกรม พอ คอมไฟล์เสร็จ ก็จะจบเลย
แต่ถ้ามี getch(); จะค้างให้เรากด key ใดๆก่อนอะครับ

ผิดถูกไง แนะนำทีนะครับ ผมก็ไม่ค่อยเก่งเท่าไร อธิบายตามความน่าจะเป็นอะครับ


ตาม ความเห็นข้างบนนี้เลยครับ

Share topic : บันทึกการเข้า

กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย
pinkbuff
บุคคลทั่วไป
« ตอบ #5 เมื่อ: 29 เมษายน 2007, 14:18:26 »

มันไม่ได้ฟ้องขึ้นว่าอะไรเลยนะครับแต่ว่า
..

มันไม่มีอะไรเกิดขึ้นเลยครับ คือมันยังอยู่
หน้าเดิม ไม่ขยับไปไหน

แต่อันที่จริงไม่ได้เป็นปัญหาใหญ่อะไรนะครับ
ผมแค่สงสัยว่าทำไมต้องใส่ getch();

แต่ตอนนี้ทราบแล้ว ต้องขอขอบคุณทุกท่านมากครับ

หลักการการใช้ getch() เห็นด้วยกับคุณ sompobm ครับ และวิธีดูผลลัพธ์เมื่อรันโปรแกรมผ่านแล้วแต่มันไม่เกิดอะไรขึ้นเลยเพราะไม่มี getch(); ดักไว้ ให้คีย์ปุ่ม alt + F5 ดูผลลัพธ์ได้ครับ

Share topic : บันทึกการเข้า
เทพห้านาที
Clever Rank 3
***


จิตพิสัย: 11
ออฟไลน์ ออฟไลน์

เพศ: ชาย
กระทู้: 663

สมาชิกลำดับที่ 5870

Posting Frequency


The quick brown mouse jumped over the lazy dog.


เว็บไซต์






 ระดับถัดไป:
 26% ( 13 / 50 )

« ตอบ #6 เมื่อ: 29 เมษายน 2007, 18:23:16 »

มายืนยันคำตอบครับ ว่าที่ต้องใส่ getch(); เพราะต้องการดูผลลัพธ์ของการรันโปรแกรมครับ ถ้าคุณไม่ใส่คำสั่งนี้ เวลารันโปรแกรมเสร็จ ตัวโปรแกรมก็จะออกไปเลย ดูผลลัพธ์ไม่ทัน แต่ถ้าคุณใช้ getch(); ท้ายโปรแกรม จะทำให้โปรแกรมต้องรอรับการกดคีย์บอร์ดก่อน 1 ครั้ง ทำให้สามารถดูผลลัพธ์ได้ครับ ทดลองง่ายๆ เขียนโปรแกรม 1 + 2  แล้วให้มันพิมพ์ออกมาดูสิครับ(ในดอส) รับรองดูไม่ทัน

Share topic : บันทึกการเข้า

กลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอระงับการใช้ลายเซ็นต์รูปภาพ
อนุญาตให้ใช้ได้เพียง ลายเซ็นต์ที่เป็นข้อความ
จึงประกาศมาเพื่อขอความร่วมมือ จากสมาชิกทุกๆ ท่าน
ในนาม กลุ่มผู้ดูแลระบบแห่งประเทศไทย
กลุ่มผู้ดูแลระบบแห่งประเทศไทย
   


โปรดอ่านกฎกติกาก่อนแสดงความคิดเห็น


1. โปรดงดเว้น การใช้คำหยาบคาย ส่อเสียด ดูหมิ่น กล่าวหาให้ร้าย สร้างความแตกแยก หรือกระทบถึงสถาบันอันเป็นที่เคารพ
2. ข้อความหรือรูปภาพที่ปรากฏในกระทู้ที่ท่านเห็นอยู่นี้ เกิดจากการตั้งกระทู้และถูกส่งขึ้นเวบบอร์ดโดยอัตโนมัติจากบุคคลทั่วไปและสมาชิก
ซึ่งทีมงานกลุ่มผู้ดูแลระบบแห่งประเทศไทย มิได้มีส่วนร่วมรู้เห็น หรือพิสูจน์ข้อเท็จจริงใดๆ ทั้งสิ้น
และไม่สามารถนำไปอ้างอิงทางกฎหมายได้
3. หากท่านพบเห็นข้อความ หรือรูปภาพในกระทู้ที่ไม่เหมาะสม กรุณาแจ้งทีมงานทราบ เพื่อดำเนินการต่อไป
4. ทีมงานกลุ่มผู้ดูแลระบบแห่งประเทศไทย ขอสงวนสิทธิ์ในการลบความคิดเห็น โดยไม่ต้องชี้แจงเหตุผลใดๆ ต่อเจ้าของความคิดเห็นนั้น

 บันทึกการเข้า
หน้า: [1]   ขึ้นบน
  เพิ่มบุ้คมาร์ค  |  พิมพ์  
+ กลุ่มผู้ดูแลระบบแห่งประเทศไทย » Developer Zone » App Development » หัวข้อ:
|-+ ข้อสงสัยเล็กๆน้อยๆ เกี่ยวกับภาษา C ทำไมต้องมี getch(); ก่อนจบโปรแกรม


 
กระโดดไป:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 Thaiadmin Edition | Sitemap| SMF © 2013, Simple Machines
Thai Language by ThaiSMF. Modifications by Thailand System Administrator Group.
Valid XHTML 1.0! Valid CSS!
หน้านี้ถูกสร้างขึ้นภายในเวลา 0.096 วินาที กับ 33 คำสั่ง

Google visited last this page เมื่อวานนี้ เวลา 16:13:34