c++ neden böyle bir sonuç çıkartıyor? sizce de ilginç değil mi?

35rza35

Üye
Katılım
13 Kas 2009
Mesajlar
43
Puanları
1
Yaş
33
merhaba arkadaşlar... DEV C++ kullanıyorum... hocamız derste şöyle bir örnek yaptı:

#include <stdio.h>
#include <iostream>
#include <conio.h>
using namespace std;
main()
{
char ch'0';
int n=50;
printf('%c %d &c &d %o %x \n",ch,ch,n,n,ch,ch,n);
system("PAUSE");
}


............örnek bu. bunu koşunca sonuç şöyle çıktı:

0 48 2 50 60 32

şeklinde bir sayı dizisiyle karşılaştık ve hoca bunun nedenini sordu.. ödev halinde istiyor... benim de kafam durdu.. bilginiz varsa, paylaşırsanız sevinirim...
 
Yanlislikla iki defa cevapladim ve simdi bu cevabimi silemiyorum.
 
char ch'0';
int n=50;
printf('%c %d &c &d %o %x \n",ch,ch,n,n,ch,ch,n);u

ilk olarak 0 ı karakter tanımlamışşın yani ascii olarak 0 decimal olarak 48 e denk gelir,eger bu karakteri ascii olarak yazdırısın yani "c" ile sana 0 döndürür ama "d" ile yazdırırsan 48 döndürür,"o" ile 8lik tabanda yazdırırsan 60 döndürür...
aynı şekilde n yi de int olarak 50 tanımlamışsın,50 de ascii kod olarak 2 karakterine denk gelir bu yüzden n yide karakter olarak "c" ile yazdırırsan 2,decimal olarak "d" ile yazdırırsan 50,hexadecimal olarak "x" ile yazdırırsan 32 döndurur

yani herşey tanımlamalarla alakalı,umarım yardımcı olabilmişimdir..
 
Son düzenleme:
Ben de Sn. sezaiarikan'a katılıyorum. Sizin değişkenlerin deklerasyonu kısmı ile ilgili daha fazla şey öğrenmeniz gerektiğini düşünüyorum.

Saygılarımla,
 
çok teşekkürler...çok memnun oldum...
 

Forum istatistikleri

Konular
128,184
Mesajlar
915,692
Kullanıcılar
449,956
Son üye
CharmanDear

Yeni konular

Geri
Üst