C ถือว่าพิมพ์แบบคงที่ (คุณไม่สามารถเปลี่ยนตัวแปรจาก int เป็น float ได้) เมื่อประกาศตัวแปรแล้วมันจะติดอยู่อย่างนั้น
แต่ถือว่าพิมพ์ผิดเล็กน้อยเนื่องจากประเภทต่างๆสามารถพลิกพลิกได้
0 คืออะไร? '\ 0', FALSE, 0.0 ฯลฯ ..
ในหลายภาษาคุณไม่สามารถพูดว่า IF (ตัวแปร) ได้เนื่องจากเงื่อนไขจะรับค่าบูลีนจากนิพจน์บูลีนเท่านั้น สิ่งเหล่านี้ถูกพิมพ์มากขึ้น เช่นเดียวกับการไปมาระหว่างอักขระและจำนวนเต็ม
โดยพื้นฐานแล้ว c มีประเภทข้อมูลหลักสองประเภท ได้แก่ จำนวนเต็มและตัวเลขทศนิยม บูลีนอื่น ๆ อย่างอื่น enums (ไม่ง่าย แต่เหมาะสม) ฯลฯ ถูกนำมาใช้เป็นหนึ่งในนั้น แม้แต่อักขระก็เป็นจำนวนเต็ม
เปรียบเทียบกับภาษาอื่น ๆ ที่มีประเภทสตริงประเภท enum ที่สามารถกำหนดให้กับค่าที่กำหนดเท่านั้นประเภทบูลีนที่สามารถใช้ได้เฉพาะนิพจน์ที่สร้างบูลีนหรือจริง / เท็จเท่านั้น
แต่คุณสามารถโต้แย้งว่าเมื่อเทียบกับ Perl C นั้นมีการพิมพ์อย่างรุนแรง ดังนั้นจึงเป็นหนึ่งในข้อโต้แย้งที่มีชื่อเสียงเหล่านั้น (vi vs emacs, linux vs windows ฯลฯ ) C # พิมพ์แรงกว่า C โดยทั่วไปคุณสามารถโต้แย้งไม่ว่าจะด้วยวิธีใดก็ได้ และคำตอบของคุณอาจเป็นไปได้ทั้งสองทาง :) นอกจากนี้หนังสือเรียน / หน้าเว็บบางหน้าจะบอกว่า C พิมพ์ผิดและบางหน้าก็บอกว่า C พิมพ์แรงเกินไป หากคุณไปที่วิกิพีเดียรายการ C จะระบุว่า "พิมพ์อ่อนบางส่วน" ฉันจะบอกว่าเมื่อเทียบกับ Python C นั้นพิมพ์ผิด ดังนั้น Python / C #, C, Perl บนความต่อเนื่อง