ลำโพง: ใ​​ห้เขียนโปรแกรมที่ แจ้งให้ผู้ใช้สองสายและ แล้วรายงานว่าสตริงที่ จะเหมือนกันหรือไม่เหมือนกัน ผมได้เริ่มต้นกับเราแล้วออกจากที่นี่โดย โทร printf สองครั้งและเรียก getString สองครั้งการจัดเก็บผลตอบแทน ค่าในและทีตามลำดับ ตอนนี้สัญชาตญาณของฉันที่จะเปรียบเทียบทั้งสอง สตริงจะใช้คุ้นเคย ความเสมอภาคประกอบการ - ถ้า s เท่ากับเท่ากับเสื้อ แล้วฉันจะไปข้างหน้าและการพิมพ์ ออกมาว่า "คุณพิมพ์ในสิ่งเดียวกัน อื่นหากที่ไม่เป็นความจริงฉันเพียงแค่ จะพิมพ์ printf ("คุณพิมพ์ สิ่งที่แตกต่างกัน ตรงไปตรงมาเป็นธรรม - ฉันเพียงแค่การเปรียบเทียบต่อต้าน T, และหากพวกเขากำลังเท่ากัน พิมพ์ออกมากที่สุดเท่าที่ ลองคอมไพล์และรันโปรแกรมนี้ ให้เปรียบเทียบ 0. / เปรียบเทียบ 0, พูดอะไรบางอย่างสวัสดี พูดอะไรบางอย่างสวัสดี แต่น่าเสียดายที่โปรแกรมคิดว่าฉันได้ พิมพ์สิ่งที่แตกต่างแม้ว่าฉัน พิมพ์ได้อย่างชัดเจน "สวัสดี" เช่นเดียวกับทั้งสองครั้ง ตอนนี้เหตุผลที่ว่าอาจจะมี ดีก็ปรากฎว่าทั้งหมดนี้ เวลาสตริงได้รับน้อยมาก ที่ซับซ้อนกว่าลำดับของตัวอักษร ภายใต้กระโปรงหน้ารถ ในความเป็นจริงสตริงเป็นตัวชี้หรือ ที่อยู่โดยเฉพาะที่อยู่ ของอักขระตัวแรกในที่ ลำดับของตัวอักษร และดังนั้นเมื่อเราเปรียบเทียบกับเสื้อ s ด้วยเครื่องหมายเท่ากับเท่ากับเรา จริงขอให้เป็นที่อยู่นี้ เท่ากับเท่ากันไปยังที่อยู่นี้ และที่จะไม่เป็นกรณีที่หาก ผู้ใช้มีการพิมพ์ในสองที่แตกต่างกัน สตริงและเราได้เรียก GetString สองครั้ง ที่จะได้รับพวกเขาเพราะหน่วยความจำ GetString ที่ใช้ในการจัดเก็บครั้งแรก สตริงอาจจะอยู่ที่นี่ในแรม แต่ หน่วยความจำที่ GetString ใช้ในการเก็บ สายที่สองจะ จะอยู่ที่นี่ในแรม และแน่นอนแล้วทั้งสองชิ้น หน่วยความจำมีที่อยู่ที่แตกต่างกัน ตัวอักษรแรกของพวกเขา ดังนั้น s เท่ากับเท่ากับ t? ดีไม่มี หากเสื้อและจะชี้ไปที่แตกต่างกัน ชิ้นของหน่วยความจำที่พวกเขาจะได้รับโดย โทร GetString สองครั้งที่พวกเขากำลังไม่ได้ ในความเป็นจริงจะเป็นเช่นเดียวกัน ดังนั้นจึงน่าจะเป็นกรณีที่ เปรียบเทียบสองสายในที่ใช้งานง่าย วิธีการที่เราคาดหวังอักขระสำหรับ ตัวละครที่เราต้องใช้เทคนิคอื่น โดยสิ้นเชิง