การแปลงชนิดของข้อมูล
การเปลี่ยนชนิดของข้อมูล ทำได้หลายวิธีขึ้นกับชนิดของข้อมูล
วิธีการที่จะกล่าวถึง คือ กำหนดชนิดหน้าข้อมูล มีรูปแบบคือ
ตัวแปร = (ชนิดข้อมูล) นิพจน์;
ตัวอย่างที่
#include
<stdio.h>
main()
{
int
a,b;
a
= 2.7 + 3.9 ; /* บวกก่อน ได้ 6.5 แต่เนื่องจาก a เป็น int จึงตัดทศนิยมทิ้งได้ a เป็น 6 */
printf("\n\ta
= %d ",a);
b
= (int) 2.7 + (int) 3.9 ; /* เปลี่ยน 2.7 เป็น int ได้ 2 และเปลี่ยน
3.9 เป็น int ได้ 3 บวกกันได้ 5 */
printf("\n\tb
= %d ",b);
int
num1 =5 , num2 =4;
float
x,y;
x
= num1/num2; /* ผลหารได้ 1.25 แต่ทั้ง num1 และ num2 เป็น int จึงตัดเศษทิ้ง
แล้วจึงกำหนดค่าให้ x จึงมีค่าเป็น 1 แต่ x เป็น float จึงมีทศนิยม */
printf("\n\tx
= %f",x); /* พิมพ์ x เป็นแบบ %f ถ้าไม่ระบุตำแหน่งจะให้ 6
ตำแหน่งจึงเป็น 1.000000 */
y
= (float)num1/num2; /* เปลี่ยน num1 เป็น float ก่อน แล้วจึงหาร จึงได้ผลลัพธ์เป็น 1.25 */
printf("\n\ty
= %f",y); /* พิมพ์แบบ float จึงได้ผลลัพธ์เป็น 1.250000
getch();
}
ผลการทำงานของโปรแกรมได้เป็น
a = 6
b = 5
x = 1.000000
y = 1.250000
กรณีที่นิพจน์นั้นประกอบด้วยข้อมูลหลายชนิด
จะมีการเปลี่ยนเป็นข้อมูลชนิดเดียวกันก่อน จึงดำเนินการอื่นต่อ
โดยการเปลี่ยนจะเปลี่ยนจากข้อมูลที่เล็กกว่าเป็นข้อมูลชนิดที่ใหญ่กว่า
เช่นข้อมูลชนิด int มีการดำเนินการกับข้อมูลชนิด float จะมีการเปลี่ยนข้อมูลชนิด int เป็น float ก่อน จึงดำเนินการอื่นต่อไป
ไม่มีความคิดเห็น:
แสดงความคิดเห็น