title: Информатика - bet 156
text: 253
  qaytadi. Undan tashqari yuqorida ko`rganimizdek, funksiyaga berilgan
  o`zgaruvchilarning faqat nusxalari bilan ish ko`rilarkan. Ularning qiymatini normal
  sharoitda funksiya ichida o`zgartirish mumkin emas. Lekin bu muammolar
  ko`rsatkichlar yordamida osonlikcha hal etiladi. Funksiya chaqiriqlarida avtomatik
  ma`lumot tipining konversiyasi bajariladi. Bu amal kompilyator tomonidan
  bajarilganligi sababli funksiyalarni chaqirganda ehtiyot bo`lish kerak. Javob xato
  ham bo`lishi mumkin. Shu sababli kirish parametrlar tipi sifatida katta hajmli
  tiplarni qo`llash maqsadga muvofiq bo`ladi. Masalan, double tipi har qanday sonli
  tipdagi qiymatni o`z ichiga olishi mumkin. Lekin bunday qiladigan bo`lsak, biz
  tezlikdan yutqazishimiz turgan gap. Avtomatik konversiyaga misol keltiraylik.
  28-listing
  .
  Output:
  int division(int m, int k) {
  return (m / k);
  }
  dasturda chaqirsak:...
  float f = 14.7;
  double d = 3.6;
  int j = division(f,d); //f 14 bo`lib kiradi, d 3 bo`lib kiradi
  // 14/3 - butun sonli bo`lish esa 4 javobini beradi
  cout << j;
  4
  Demak, kompilyator f va d o`zgaruvchilarining kasr qismlarini tashlab
  yuborar ekan. Qiymatlarni pastroq sig`imli tiplarga o`zgartirish xatoga olib keladi.