Bilgisayar Ve Programlamaya Giriş Deneme Sınavı Sorusu #1408270

int kare(int);

Yukarıdaki kod satırı ile bir sayısal ifadenin karesini alacak bir fonksiyon tanımlanmıştır. Ana program içinde bu fonksiyon çağrılarak 18’in karesi yazdırılmak isteniyor. Aşağıdaki şıklardan hangisi bu fonksiyonu çağırmak için en doğru yaklaşımdır? (a, integer tipinde bir değişkendir.)


a = 18 * kare();

kare(18) = a;

18 * kare() = a;

a  = kare(18);

kare(18);


Yanıt Açıklaması:

Şıklarda verilen atama operatörü soldaki değeri sağ taraftaki değişkenin üzerine yazmak suretiyle çalışmaktadır. Dolayısıyla B ve C şıklarındaki çağırımlar doğru değildir. A seçeneğinde ise fonksiyona herhangi bir argüman gönderilmediği için bu çağırım da doğru değildir. E seçeneğindeki çağırım doğrudur; ancak fonksiyonun döndürdüğü değer olan 18’in karesi herhangi bir değişkene atanmamıştır. Böylece D seçeneğindeki kullanımın her bakımdan doğru olduğu görülmektedir.

Yorumlar
  • 0 Yorum