ปัญหา
ประกาศตัวแปร int และ float โดยไม่ต้องเริ่มต้น และพยายามพิมพ์ค่าในภาษา C อธิบายว่าจะเกิดอะไรขึ้น
วิธีแก้ปัญหา
-
หากมีการประกาศตัวแปรแต่ไม่ได้เริ่มต้นหรือไม่ได้กำหนดค่าเริ่มต้น และหากตัวแปรเหล่านั้นพยายามพิมพ์ ตัวแปรนั้นจะคืนค่า 0 หรือค่าขยะบางส่วน
-
เมื่อใดก็ตามที่เราประกาศตัวแปร ตำแหน่งจะถูกจัดสรรให้กับตัวแปรนั้น สิ่งเดียวคือด้วยความช่วยเหลือของการเริ่มต้น เรากำลังพยายามครอบครองตำแหน่งหน่วยความจำซึ่งได้รับการจัดสรรแล้วในขณะที่ประกาศ
-
แต่ในโปรแกรมด้านล่าง เราไม่ได้กำหนดค่าเริ่มต้นในตำแหน่งหน่วยความจำที่สงวนไว้ แต่โดยค่าเริ่มต้น ตำแหน่งจะถูกครอบครองด้วย 0 หรือค่าขยะ เมื่อเราพยายามพิมพ์มันจะแสดงค่า 0 หรือค่าขยะเป็นเอาต์พุต
ตัวอย่าง
ต่อไปนี้เป็นโปรแกรม C สำหรับเข้าถึงตัวแปร int และ float -
#include<stdio.h>
int main(){
float a,b,c;
int x,y,z;
printf("value of a:%f\n",a);
printf("value of b:%f\n",b);
printf("value of c:%f\n",c);
printf("value of x:%d\n",x);
printf("value of y:%d\n",y);
printf("value of z:%d",z);
return 0;
} ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
value of a:0.000000 value of b:0.000000 value of c:0.000000 value of x:1512368 value of y:0 value of z:27