Çözüldü C++ sondaki printf çalışmıyor

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

RbeD

Hectopat
Katılım
19 Mayıs 2020
Mesajlar
121
Daha fazla  
Cinsiyet
Erkek
Arkadaşlar, sona bir printf ekledim. Uygulamanın içinden çalıştırdığımda o printf çalışıyor ama exe dosyasından çalıştırdığımda çalışmıyor. Kod burada (sondaki sonuç kısmından bahsediyorum)

eeeeEkran Alıntısı.PNG
 
Çözüm
@RbeD kapanmasının sebebi son printf'ten sonra başka yapacağı komut olmadığından return 0; çalışıyor ve bu satır ise uygulamanın 0 koduyla kapatılmasını yani normal bir şekilde çıkış yapmasını sağlıyor. Diğer arkadaşların söyledikleri ise veri girişi yapılırken giriş yapılana kadar beklemesinden dolayı çıkış komutunun bir üstüne veri girişi koyarsanız siz ENTER'a basana kadar yani boş da olsa bir veri gönderene kadar bekleyecektir. Daha sonra veri alındığı için bir sonraki komuta yani çıkış komutuna geçecektir. Eğer veriyi sadece okursanız ve veriyle işlem yapmazsanız bu yeterli olacaktır.

Eğer veri girişi vb. ile yapmak istemiyorsanız çıkış komutunun üstüne while(true){} eklemeniz yetecektir. Çünkü bu komutla uygulama sonsuz döngüye girecektir ve siz uygulamayı dışarıdan kapatmadığınız (IDE'den kapatmak ya da Görev Yöneticisi'nden görevi sonlandır yapmak) sürece öyle kalacaktır. Bunu kullanırsanız kapatmak için CTRL + C yapmanız yeterli olacaktır. CTRL + C kopyalamanın dışında konsolda çalışan bir uygulamayı sonlandırmaya da yarar.

CMD üzerinden başlatmak olarak bahsettikleri ise başlat menüsünden CMD penceresini açıp oraya exe konumunu yazarak başlatmak. Siz IDE içerisinden başlattığınızda CMD ile değil, konsol penceresi içerisinde açıyor.
Çalışıyor aslında ama STDOUT line line bufferlar, line feed gördüğünde de flushlar.

Basitçe, line feed ekleyebilirsiniz:
C:
printf("Ortalama: %d\n", sonuc);

Ya da fflush(stdout) yapabilirsiniz:
C:
printf("Ortalama: %d", sonuc);
fflush(stdout);
 
Arkadaşlar biraz asabi konuşmuşum. Size de ayıp ettim. Özür dilerim, teşekkürler :)
Hocam sorun çözüldüyse çözüm olarak işaretlemeyi unutmayın.
 

Yeni konular

Geri
Yukarı