สวัสดีและยินดีต้อนรับ.
ในการบรรยายครั้งนี้ ฉันอยากจะพูดถึง การอ่านอินพุตจากแป้นพิมพ์
นี่เป็นแนวคิดพื้นฐานที่ฉัน อยากให้พวกคุณเรียนแต่เนิ่นๆ
เพราะมันมีค่ามากและ โปรแกรมจำนวนมากรับอินพุต
ดังนั้นฉันจึงให้สิ่งนี้ในช่วงต้น
แนวคิดบางอย่างไม่ได้ จะมีความชัดเจนอย่างสมบูรณ์
แต่เราจะได้เรียนรู้สิ่งเหล่านี้อย่างแน่นอน แนวความคิดในส่วนอื่นๆ
ที่เราผ่าน แต่สิ่งสำคัญคือ เรียนรู้สิ่งนี้ตั้งแต่เนิ่นๆ และคล้ายกับฟังก์ชัน
printf มาก
ดังนั้นเราจึงได้กล่าวถึงผลลัพธ์
เรารู้วิธีจัดรูปแบบ เอาต์พุตโดยใช้ printf
ตอนนี้ต้องเรียนรู้กันหน่อยแล้ว บิตเกี่ยวกับอินพุต รับอินพุตจากผู้ใช้เป็นหลัก
มีประโยชน์มากที่จะถามผู้ใช้ เพื่อป้อนข้อมูลลงในโปรแกรม
เราคุยกันเรื่อง command line อาร์กิวเมนต์ป้อนข้อมูลด้วยวิธีนั้น
นั่นคือวิธีหนึ่งที่จะทำ
อีกวิธีคือถามผู้ใช้ โดยตรงเพื่อให้พวกเขาสามารถพิมพ์อะไรบางอย่างในแป้นพิมพ์
ดังนั้นคุณจะได้รับข้อมูลจาก แป้นพิมพ์ แต่ปรากฏขึ้นเมื่อคุณป้อนอินพุต
ผ่านเทอร์มินัลคอนโซล
นั่นเป็นวิธีที่คุณป้อนข้อมูล
ห้องสมุดคประกอบด้วย ฟังก์ชั่นอินพุตหลายตัว
เราจะใช้ scanf
นั่นเป็นหน้าที่ทั่วไปที่สุด
มันมีประโยชน์มาก
มันให้ความแตกต่าง รูปแบบที่คุณสามารถป้อนได้
เพื่อให้คุณสามารถป้อนข้อความแล้วมันจะ ได้รับการแปลงเป็นรูปแบบต่างๆ
ดังนั้น scanf อ่านอินพุตจาก สตรีมอินพุตมาตรฐาน นั่นคือ stdin
Scanf สามารถใช้สำหรับ .ได้จริง อ่านจากไฟล์เช่นกันหากสตรีมอินพุตเป็นไฟล์
แต่เราจะไม่กังวล ตอนนี้เราจะใช้มันเพื่อ
อ่านอินพุตจากแป้นพิมพ์
โอเค แล้วก็ stdin โดย ค่าเริ่มต้นคือแป้นพิมพ์
Stdin เป็นกระแส
สตรีมและ c, three's ลำธารที่แตกต่างกัน
สตรีมข้อผิดพลาด standard ในและเอาต์พุตมาตรฐาน
มาตรฐานโดยค่าเริ่มต้น คือคีย์บอร์ด
ดังนั้นเราจะเก็บมันไว้อย่างนั้น
และการใช้ scanf มันจะไป อ่านจากมาตรฐานแล้วขึ้นอยู่กับสิ่งที่คุณป้อนหรือวิธีการ
คุณต้องการเก็บข้อมูล ฉันควรจะพูดว่า มันจะแปลง
สิ่งที่คุณป้อนเพราะสิ่งที่คุณป้อนจะเป็นข้อความ
มันจะแปลงข้อความนั้นเป็น รูปแบบที่คุณให้ไว้
มันจะใช้ตัวระบุรูปแบบ เช่นเดียวกับฟังก์ชัน printf
ดังนั้นรูปแบบสามารถเป็นลำดับของ อักขระที่เรียกว่าสตริง
เราไม่ได้เรียนว่า ในรายละเอียดมากมาย
แต่เราจะทำอีกครั้งเมื่อ เราพูดถึงประเภทข้อมูล
แล้วคุณยังสามารถระบุ ข้อมูลประเภทอื่นที่เราจะพูดถึงเช่น
จำนวนเต็ม ตัวเลขโดยทั่วไป
ดังนั้นคุณจึงสามารถอ่านตัวเลขได้
คุณสามารถอ่านสตริง
คุณสามารถอ่านตัวเลขที่มี ทศนิยม อักขระเดี่ยวๆ
ทั้งหมดนี้
หากค่ามาตรฐานเป็นอินพุตจาก แป้นพิมพ์ซึ่งเป็นค่าเริ่มต้นสิ่งที่จะเกิดขึ้นคือเมื่อคุณพิมพ์ข้อความ
ผ่านคีย์บอร์ด มันจะเอาข้อความนั้นไปใส่ในโปรแกรม c และมันจะแปลงข้อความนั้น
และข้อความก็เหมือนกับ ตัวอักษร ตัวเลข และเครื่องหมายวรรคตอน
แม้ว่าคุณกำลังพิมพ์ ตัวเลขก็ยังเป็นข้อความเพราะมันมาจากแป้นพิมพ์
ดังนั้น หากคุณป้อนจำนวนเต็ม 2014 ซึ่งเป็นตัวเลขและที่สำคัญคือคุณกำลังพิมพ์
อักขระสองศูนย์หนึ่งและสี่
และเกิดอะไรขึ้นและอะไร ที่จะเกิดขึ้นก็คือมันจะเพิ่มส่งข้อมูลนั้นไปยังโปรแกรม
c
และถ้าคุณต้องการเก็บข้อมูลนั้น เป็นตัวเลข คุณจะต้องแปลงข้อมูลนั้น
ดังนั้นคุณต้องระบุรูปแบบ ตัวระบุวิธีที่คุณต้องการแปลงเช่นเดียวกับที่คุณทำใน
printf
จำไว้ว่าเหมือนกับ printf ที่คุณใช้ เปอร์เซ็นต์ d เพื่อพิมพ์จำนวนเต็ม
คุณจะแปลงข้อความเป็น จำนวนเต็มที่ใช้เปอร์เซ็นต์ d เช่นกันสำหรับ
scanf หากคุณต้องการ แปลงสตริงเป็นตัวเลข
และนั่นคือสิ่งที่เรากำลังจะไป เพื่อทำเป็นพื้นฐานตั้งแต่เนิ่นๆ
เราจะใช้แค่ตัวเลข เพราะเรารู้ตัวเลขแล้ว
และเราไม่รู้จริงๆ เรียนรู้เกี่ยวกับสตริงยัง
ดังนั้นเราจะไปกันเป็นหลัก ใช้ตัวเลขเมื่อเราป้อน
ดังนั้น scanf
มันคล้ายกับ printf มาก
แต่กลับต่างออกไปเล็กน้อย ในข้อโต้แย้งบางอย่างที่ต้องใช้
มันยังคงใช้สตริงควบคุม ตามด้วยรายการข้อโต้แย้ง
มันก็จะมีอะไรๆ ในเครื่องหมายคำพูดคู่นั้น
เครื่องหมายคำพูดคู่มักจะ มีเพียงสิ่งเดียวเท่านั้นและมันจะเป็นตัวระบุรูปแบบ
คุณจะแปลงข้อมูลอย่างไร
ดังนั้นสตริงควบคุมจึงระบุ ชนิดข้อมูลปลายทางสำหรับกระแสอินพุตของอักขระ
มันคือตัวระบุรูปแบบนั้น เปอร์เซ็นต์ d, เปอร์เซ็นต์ c, เปอร์เซ็นต์ s,
เปอร์เซ็นต์ f สำหรับการไหลและอื่นๆ
ฟังก์ชัน printf ใช้ตัวแปร ชื่อค่าคงที่และนิพจน์ในการโต้แย้งเพราะเราเรียนรู้สิ่งนั้น
คุณมีบางอย่างในเครื่องหมายคำพูดคู่
แล้วข้างในดับเบิ้ล คำพูดคุณใช้ตัวระบุรูปแบบ
แล้วหลังจากเครื่องหมายจุลภาค คุณ สามารถพิมพ์ตัวแปรหรือพิมพ์นิพจน์ได้
สำนวนที่เราจะพูดถึง รายละเอียดเพิ่มเติมเช่นกัน สิ่งที่ส่งกลับค่าเป็นหลัก
ประเภทของนิพจน์ทั่วไป เป็นนิพจน์ทางคณิตศาสตร์
ฟังก์ชั่น scanf แตกต่างกัน เพราะแทนที่จะแสดงตัวแปรจริง
ๆ มันจะไป ใช้ตัวแปรที่ชี้ไป
แต่โชคดีที่ตัวชี้ เป็นแนวคิดที่ยิ่งใหญ่ในค.
ไม่ต้องรู้อะไรเลย เกี่ยวกับพอยน์เตอร์เพื่อทำความเข้าใจและใช้ฟังก์ชัน
scanf
ดังนั้นไม่ต้องกังวลเกี่ยวกับเรื่องนั้น
เอาล่ะ สิ่งที่คุณต้องทำคือคุณ ต้องจำกฎสามข้อเกี่ยวกับฟังก์ชัน
scanf เพื่อใช้งาน
มันจะส่งคืนหมายเลข รายการที่อ่านได้สำเร็จ
ดังนั้นถ้ามันอ่านตัวแปรเดียว สองตัวแปร สามตัวแปร มันจะคืนค่านั้น
หากคุณใช้ scanf เพื่ออ่านค่า สำหรับตัวแปรพื้นฐานประเภทใดประเภทหนึ่งที่เราจะพูดถึง
เช่น เป็น int, float, double จากนั้นสิ่งที่คุณต้องทำคือ ชื่อตัวแปร อาร์กิวเมนต์ต้องนำหน้าด้วยเครื่องหมายและ
ไม่ต้องรู้หรอกว่าทำไม ที่เป็นอยู่ในขณะนี้
แต่เพียงแค่ทำมัน ประเภทข้อมูลพื้นฐานใดๆ
เครื่องหมายเป็นที่อยู่
และเนื่องจาก scanf ใช้ตัวชี้ คุณต้องยกเลิกการอ้างอิง คุณต้องผ่านที่อยู่
สิ่งที่สามที่คุณ ต้องจำไว้สำหรับ scanf
หากคุณใช้ scanf เพื่ออ่าน a สตริงซึ่งเป็นลำดับของอักขระเป็นอักขระ
คุณ ไม่ต้องใช้เครื่องหมายแอมเพอร์แซนด์
โดยทั่วไปแล้ว scanf ใช้เวลาสอง ข้อโต้แย้งที่ฉันจะแสดงให้คุณเห็นตัวอย่าง
อาร์กิวเมนต์แรกจะเป็นอย่างไร เพื่อแปลงข้อมูลที่คุณพิมพ์
และถ้าคุณเก็บข้อมูลนั้นไว้ ใน int คุณใช้เปอร์เซ็นต์ใช้ตัวระบุรูปแบบ
เปอร์เซ็นต์ d
หากต้องการเก็บเป็นสตริง ซึ่งเรายังไม่ได้เรียนรู้
คุณใช้เปอร์เซ็นต์ s
แล้วอาร์กิวเมนต์ที่สองคือและ อาจมีอาร์กิวเมนต์มากมายขึ้นอยู่กับจำนวนตัวระบุรูปแบบที่คุณใช้
เพราะเหมือนกับ printf จะเป็นตัวแปรจริง ชื่อตัวแปร
และถ้าตัวแปรเป็นทุกอย่างแต่ สตริง คุณเพียงแค่ใช้เครื่องหมายและ
มิฉะนั้นคุณจะไม่ ใช้เครื่องหมายและ
ฟังก์ชัน Scanf ยังใช้ช่องว่าง เพื่อตัดสินใจว่าจะแบ่งอินพุตออกเป็นฟิลด์แยกกันอย่างไร
และช่องว่างรวมถึง บรรทัดใหม่ แท็บและช่องว่าง
และอีกครั้ง ผมจะยกตัวอย่าง เพื่อแสดงให้คุณเห็นว่านั่นหมายถึงอะไร
เพราะเช่นเดียวกับ printf สามารถแสดงได้หลายแบบ ตัวแปรมากมายขึ้นอยู่กับจำนวนตัวระบุรูปแบบที่คุณมีภายใน
เครื่องหมายคำพูดเดียว สิ่งเดียวกันกับ scanf
หาก scanf มีหลายสิ่ง ภายในเครื่องหมายคำพูดคู่
มันจะอ่านอินพุตหลายตัว
และอินพุตกำลังไป เพื่อแบ่งตามบรรทัดใหม่
อีกครั้งถ้าอยากลอง เพื่อให้เข้าใจว่า scanf คืออะไร
ตรงกันข้ามกับ printf
Printf กำลังจะแปลงจำนวนเต็ม เลขทศนิยม สตริงอักขระ ข้อมูลต่าง
ๆ เหล่านี้ทั้งหมด ประเภทและมันจะแปลงเป็นข้อความ
เพื่อให้คุณเห็นผลลัพธ์
และมันจะเป็น ที่แสดงบนหน้าจอ
Scanf เป็นสิ่งที่ตรงกันข้าม
มันจะใช้เป็นอินพุต ข้อความและแปลงเป็นข้อมูลประเภทต่างๆ
เช่น ints, floats และ doubles
ลองมาดูตัวอย่างกัน
นี่คือตัวอย่างของ โปรแกรมง่ายๆ ของเรา
เรารู้ว่ากิจวัตรหลักคืออะไร
เรารู้ว่าคำสั่ง include คืออะไร
เราไม่ได้เรียนรู้เกี่ยวกับ อักขระและจำนวนเต็มยัง
แต่โดยพื้นฐานแล้วอยู่ที่ด้านบนสุดของสิ่งนั้น ฟังก์ชั่นหลัก
เรากำลังสร้างสองตัวแปรเพราะเราต้องเก็บ ข้อมูล และเราจะพูดถึงตัวแปรโดยละเอียดมากขึ้น
แต่เช่นเดียวกับฟังก์ชัน printf อีกครั้ง คุณแค่ทำสิ่งที่ตรงกันข้าม
ที่นี่เรากำลังแสดงผลเป็น หน้าจอบอกว่าป้อนค่า
Scanf ภายใน double เครื่องหมายคำพูดมีตัวระบุรูปแบบที่จะอ่านในอินพุต
ดังนั้นคุณต้องระบุ ข้อมูลที่จะถูกอ่านในที่นี้
มันเขียนว่า เปอร์เซ็นต์ s, เปอร์เซ็นต์ d
หมายความว่าเรากำลังอ่านอยู่ใน a สตริง จากนั้นเรากำลังอ่านแบบ int
และคุณจะสังเกตได้ว่าสตริง ไม่มีเครื่องหมายและ scanf หลังเครื่องหมายจุลภาคแรก
และหลังจากลูกน้ำที่สอง เรามี an ampersand เพราะนั่นคือจำนวนเต็ม
เรากำลังอ่านเป็นตัวเลข
แล้วก็ printf กำลังแสดงผล
มันบอกว่าคุณเข้ามาในนี้ สตริงในจำนวนเต็มนี้ เช่นเดียวกับที่เรารู้ว่า
printf ทำอะไรแล้ว ฟังก์ชันหลักจะคืนค่าศูนย์
เอาล่ะ ผ่านมันไปเถอะ ตัวอย่างในวินาทีในบล็อคโค้ด
แต่ขอย้ำว่า แนวคิดคู่
เมื่อโปรแกรมใช้ scanf to รวบรวมข้อมูลจากแป้นพิมพ์รอให้คุณป้อนข้อความ
ดังนั้นโปรแกรมจึงดำเนินต่อไป เพื่อหยุดชั่วคราวจนกว่าคุณจะป้อนข้อมูล
แล้วเมื่อคุณป้อนข้อความ
และถ้าคุณเข้าสู่ช่องว่าง หากคุณป้อนหลาย ๆ อย่าง
โปรแกรมจะดำเนินการต่อไป และอ่านอินพุตเมื่อคุณกดปุ่ม
Enter
คุณต้องกดปุ่ม Enter
อีกครั้ง scanf คาดว่าอินพุตใน รูปแบบเดียวกับที่คุณระบุ
ดังนั้นถ้าคุณพูดว่า เปอร์เซ็นต์ s และ เปอร์เซ็นต์ e หมายความว่าคุณต้องระบุสตริงตามด้วยช่องว่าง
เว้นวรรคจำนวนเท่าใดก็ได้ตามด้วยจำนวนเต็ม ตัวเลข และคำ
สตริงคือจำนวนเต็มของคำ
ลองมาดูตัวอย่างนี้กัน ทีละบรรทัดในบล็อคโค้ด
โอเค งั้นเราก็มี หน้าที่หลักของเรา
ที่สำคัญคือต้อง สามารถป้อนข้อมูลลงในโปรแกรมได้
เหมือนกับ printf มันจะไป ให้มีความคล้ายคลึงกันมาก และเราไม่จำเป็นต้องเข้าใจโค้ดทั้งหมดนี้
และเรายังกำจัด พารามิเตอร์ที่ส่งผ่าน
ฟังก์ชันหลักอย่างง่าย
เราไม่ต้อง เข้าใจรหัสทั้งหมดนี้
เราไม่จำเป็นต้องเข้าใจ ตัวแปรอะไรอยู่ในจุดนี้
แต่ตัวแปรจะเก็บข้อมูล
ในตัวอย่าง เรากำลังสร้าง อาร์เรย์สตริงที่ 100 และมีเครื่องหมายอัฒภาค จากนั้นเราจะ
ก็แค่สร้างจำนวนเต็ม เช่นเดียวกับใน
printf
เรามีจำนวนเต็ม แต่ เราใช้สตริง
แค่อยากสาธิต อินพุตที่แตกต่างกัน
ปกติแล้วเมื่อไหร่ก็ตามที่อยู่ตรงหน้าคุณ เรียกใช้ฟังก์ชัน scanf เพื่อรับอินพุตจากแป้นพิมพ์
คุณเสมอ กำลังจะบอกผู้ใช้บางอย่าง
คุณต้องการบอกพวกเขาว่าจะป้อนอะไร
ดังนั้น printf จำไว้ แสดงข้อมูลไปที่หน้าจอ
เราจะบอกว่าป้อนค่า
และพวกเขากำลังจะไปจริงๆ ใส่คู่แล้วเราลงท้ายด้วยอัฒภาค
เราต้องบอก ผู้ใช้เพื่อป้อนบางสิ่ง
ที่นี่เป็นที่ที่เรา ใช้ฟังก์ชัน scanf
เราพูดว่า scanf แล้วข้างใน วงเล็บอาร์กิวเมนต์แรกภายในเครื่องหมายคำพูดคู่กำลังเกิดขึ้น
เพื่อเป็นข้อมูลที่เราจะอ่าน
ในตัวอย่างนี้ ขอแค่ บอกว่าเราจะอ่านอินพุตหนึ่งเปอร์เซ็นต์
d ซึ่งเป็น int
แล้วเราจะไป เก็บข้อมูลนั้นไว้ในตัวแปรเพราะเราต้องการดู
และมันจะเป็นฉัน
ตอนนี้เราต้องระบุเครื่องหมายและ ก่อนหน้านั้นเพราะ จำไว้นะ เคล็ดลับเล็กๆ น้อยๆ
นี้พร้อมคำแนะนำ
ไม่ต้องรู้หรอก ทำไม มันเป็นแค่ที่อยู่
ดังนั้น scanf ในบรรทัดที่ 17 จะไปที่ อ่านข้อมูลจากแป้นพิมพ์จริงจนกว่าผู้ใช้จะกดปุ่ม
Enter
แล้วข้อมูลนั้นจะไปที่ ถูกเก็บไว้ในตัวแปรที่เรียกว่า I.
ตอนนี้เราแค่อยากจะ พิมพ์สิ่งที่เราป้อน
นี่เราแค่จะบอกว่า เราจะเพิ่มบรรทัดฟีดเพื่อให้สามารถอ่านได้ดังนั้นเราจะไป
ใช้ลำดับการหลบหนีของเรา แบ็กสแลช n แล้วเราจะบอกคุณ
คุณป้อนเปอร์เซ็นต์ d แล้วเราจะไป เพื่อแสดงค่าของตัวแปร
และเรากำลังจะไป ใส่บรรทัดฟีดหลัง
ดังนั้นค่าของตัวแปร ที่เราต้องการแสดงคือ i.
เราจะจบกัน ด้วยเครื่องหมายอัฒภาค
และนั่นคือโปรแกรมของเรา
ดังนั้นการพิมพ์งานอีกครั้งขอ ค่าการอ่านอินพุตบรรทัด 17 ระบุว่าข้อมูลที่เรา
การอ่านเป็นจำนวนเต็ม เก็บไว้ในนั้น ฉันใช้เครื่องหมายและ
แล้ว พิมพ์สิ่งที่เราเพิ่งเข้ามา
มาสร้างสิ่งนี้และเรียกใช้กัน
แล้วคุณจะเห็นโปรแกรมเริ่มทำงาน แล้วหยุดชั่วคราวเนื่องจากต้องการให้คุณป้อนค่า
มันบอกว่าป้อนค่า
ณ จุดนี้ฉันต้องป้อน a ตัวเลขที่ผมแปลงเป็นสตริงได้เพราะนั่นคือสิ่งที่เกิดขึ้น
ตรงนี้ผมจะบอกว่า 56
แล้วฉันจะกด Enter
มันวิ่งสองครั้งเพราะเครื่องสแกนไวรัสของฉัน
ผมก็จะบอกว่า 56 แล้วก็เข้าไป
แล้วมันก็พิมพ์ออกมา ฉันป้อน 56
เลยสามารถใส่ข้อมูล จำนวนและเก็บไว้ในตัวแปร
ตอนนี้เหมือนกับ printf คุณสามารถให้พวกเขาป้อนได้หลายสิ่งและ
เก็บไว้ในหลายตัวแปร
ดังนั้นที่นี่หลังจากที่พวกเขาลงท้ายด้วย an จำนวนเต็ม ฉันจะบอกว่าอีกเปอร์เซ็นต์
ตัวระบุรูปแบบ เปอร์เซ็นต์ s ซึ่งหมายความว่าฉันต้องการให้พวกเขาป้อนสตริงซึ่งเป็นเพียงคำค้นหา
ทีนี้ จำไว้นะ ถ้าเป็นคำ ฉัน ไม่ต้องระบุเครื่องหมาย
เลยจะบอกว่า ฉันต้องการเก็บข้อมูลนั้นไว้ในที่เก็บตัวแปร
และอีกครั้ง เราจะเรียนรู้เกี่ยวกับตัวแปร
แล้วฉันจะไป ที่จะพิมพ์ออกมา
และฉันได้เพิ่มตัวแปรอื่นเข้าไป ดังนั้น คุณรู้ printf แล้วฉันจะใส่เครื่องหมายทวิภาคก่อนที่คุณจะมี
เพื่อระบุรูปแบบที่คุณกำลังพิมพ์ ดังนั้นจึงเป็นเปอร์เซ็นต์
ดังนั้นหวังว่าจะชัดเจน
ตอนนี้ฉันกำลังจะอ่านเป็นสองตอน อินพุตคั่นด้วยช่องว่าง เก็บไว้ในสองตัวแปร
I และคนให้เข้ากันแล้วนำมาแสดง
ดังนั้นหากเราสร้างและดำเนินการ
ดังนั้นที่นี่ฉันจะเข้าสู่ .ของฉัน หมายเลข 22 ฉันจะไปตีอวกาศแล้วฉันจะป้อนชื่อของฉัน แล้วฉันจะตีกลับ
เมื่อฉันทำอย่างนั้น โปรแกรม จะหยุดและจะแสดงตัวเลข
I ป้อนแล้วสตริง
ดังนั้นมันจึงแสดง 22 และเจสัน
เท่านี้คุณก็จะได้ อินพุตจากผู้ใช้ รหัสอย่างง่ายสี่หรือห้าบรรทัด
อีกเรื่องด่วนที่อยากโชว์ คุณเป็นวิธีที่คุณสามารถอ่านเป็นสองเท่า
ดังนั้นในบทเรียนต่อมา คุณ จะแสดงวิธีการอ่านเป็น float
และมักจะใช้ รูปแบบที่ระบุ เปอร์เซ็นต์ f.
แต่ถ้าคุณวิ่งและอ่านเป็นสองเท่า จริงๆแล้วมันแตกต่างกันเล็กน้อยที่คุณใช้เปอร์เซ็นต์
lf ดังนั้น เก็บไว้ในใจของคุณ
ถ้าฉันสร้างชื่อตัวแปร double x จากนั้นฉันใช้ scanf เพื่ออ่านสิ่งนั้น ฉันต้องอ่านโดยใช้เปอร์เซ็นต์
LF
นั่นคือรูปแบบ ตัวระบุที่คุณต้องการใช้
แล้วก็เหมือนกับ อย่างอื่น คุณจะใช้เครื่องหมายและแทนที่อยู่และพูดว่า
x
และนี่คือวิธีที่คุณสามารถทำได้ โดยเฉพาะอ่านคู่
และนั่นก็ต่างออกไป มากกว่าการอ่านตามกระแส
ดังนั้นจงเก็บสิ่งนี้ไว้ในใจ
เมื่อคุณไปเรียกใช้สิ่งนี้ คุณจะสังเกตเห็น มันใช้งานได้ค่อนข้างตรงไปตรงมา
และคุณสามารถอ่านอินพุต อ่านคู่.
ดังนั้นคุณเพียงแค่ไปข้างหน้าและเรียกใช้สิ่งนั้น
แล้วมันก็จะถามหา สองครั้งฉันไม่ได้ทำอะไรมาก
และคู่นี้จะเป็นเช่น 77 8 และ แล้วเราจะอ่านมันและเก็บไว้ มันค่อนข้างตรงไปตรงมา
ดังนั้น scanf มาก มีประโยชน์ตามที่ได้กล่าวมา
สิ่งอื่น ๆ ที่มี scanf คุณจะสังเกตได้ว่าเมื่อคุณผ่านหลักสูตรนี้ไป
scanf บางครั้งก็ใช้งานไม่ได้ดี
คุณสามารถใช้ f ได้รับ s สำหรับสิ่งอื่น
ปัญหาหลักของ scanf คือ เมื่อคุณอ่านเข้าไป คุณกำลังอ่านอยู่จนกว่าคุณจะเห็นช่องว่าง
ดังนั้นหากคุณลองใช้ scanf คุณพยายามเรียกมันหลายครั้งในฟังก์ชัน
ร่วมกับชุดค่าผสมอื่นๆ อาจ ทำงานได้ไม่ดีนักเพราะสิ่งที่เกิดขึ้นคือเมื่อคุณกด
ปุ่มย้อนกลับบนคีย์บอร์ด มันจะไปมันจะไม่ อ่านปุ่มย้อนกลับนั้นเพราะอ่านได้เป็นคำเท่านั้น
แล้วมันก็ไม่ไป เพื่อรับสายฟีด
ดังนั้นครั้งต่อไปที่คุณใช้ scanf มันจะข้ามบรรทัดนั้นไปทันทีและกำลังจะไป
เพื่ออ่านในบรรทัดฟีด
นี่คือปัญหาที่คุณจะเห็น หากคุณเขียน scanfs หลายรายการในโปรแกรมเดียวทีละโปรแกรม
คุณจะสังเกตเห็นว่า scanfs อื่นไม่ได้ดำเนินการเพราะ
พวกเขากำลังอ่านในฟีดบรรทัด
วิธีง่ายๆ ในการเดินทางนั้น หลังจากที่คุณทำ scanf คุณเพียงแค่เรียก
git char แล้วคุณก็โทร สแกนเนอร์อื่น แต่นั่นเป็นแนวคิดที่จะพูดถึงในภายหลัง
นี่เป็นเพียงการแสดงให้คุณเห็นเมื่อ คุณอ่านเป็นสองเท่าโดยใช้ scanf
ตรวจสอบให้แน่ใจว่าคุณใช้เปอร์เซ็นต์ LF
และอีกครั้ง สิ่งนี้มีประโยชน์เพราะ ความท้าทายบางอย่างของเราจะทำให้คุณได้รับข้อมูลจากผู้ใช้
เพื่อที่จะทำสิ่งที่มีประโยชน์และเรียนรู้แนวคิดที่แตกต่างกัน
เรา สามารถรับข้อมูลจากผู้ใช้ได้
ดังนั้นฉันหวังว่าสิ่งนี้จะช่วยได้
และอีกครั้งไม่ต้องกังวลกับบางสิ่ง ของแนวคิดเหล่านี้ที่คุณไม่เข้าใจสิ่งต่างๆ
อย่างถ่องแท้ เช่นเดียวกับตัวแปรและสตริง เราจะพูดถึงเรื่องนั้นทั้งหมด อย่างละเอียดเลย
ขอบคุณครับ