การประกาศตัวแปรชนิด Character
ในภาษา C ตัวอักษร (Character) สามารถเป็นอักษรภาษาอังกฤษ (A-Z หรือ a-z), ตัวเลข (0-9), ช่องว่าง (white space), หรือสัญลักษณ์พิเศษ (special symbol) ได้ทั้งหมด
รูปแบบการประกาศตัวแปรชนิด Character มีดังนี้:
char a = 'A'; // ใช้ character constant
ฟังก์ชันรับ-ส่งข้อมูลตัวอักษร (Character I/O Functions)
ฟังก์ชันหลักสำหรับการรับและส่งข้อมูลตัวอักษร มีดังนี้:
- scanf("%c", &a); - รับตัวอักษรหนึ่งตัวจากคีย์บอร์ด
- printf("%c", a); - แสดงตัวอักษรหนึ่งตัวบนหน้าจอ (หมายเหตุ: ตัวอย่างเดิมใช้ &a ซึ่งผิด ควรเป็น a)
- a = getchar(); - รับตัวอักษรหนึ่งตัวจาก standard input
- putchar(a); - ส่งตัวอักษรหนึ่งตัวไปยัง standard output
- a = getch(); - รับตัวอักษรหนึ่งตัวโดยไม่แสดงบนหน้าจอ (non-standard, มักอยู่ใน conio.h)
- putch(a); - แสดงตัวอักษรหนึ่งตัวบนหน้าจอ (non-standard, มักอยู่ใน conio.h)
ตัวอย่างโปรแกรม: นับจำนวนบรรทัดด้วย getchar()
#include <stdio.h>
/* นับจำนวนบรรทัดใน input */
int main() {
int count, num;
printf("ป้อนข้อความหลายบรรทัด และกด Ctrl+Z เพื่อจบ:\\n");
num = 0;
while ((count = getchar()) != EOF) {
if (count == '\n')
++num;
}
printf("%d\\n", num);
return 0;
}ผลลัพธ์ตัวอย่าง
ป้อนข้อความหลายบรรทัด และกด Ctrl+Z เพื่อจบ: Hi Hello Welcome To My World ^Z 4
คำอธิบาย: โปรแกรมจะอ่านตัวอักษรทีละตัวจนกว่าจะเจอ EOF (End of File) ซึ่งใน Windows คือ Ctrl+Z ทุกครั้งที่พบตัวขึ้นบรรทัดใหม่ (\n) จะเพิ่มตัวนับขึ้น 1