Arama butonu
Bu konudaki kullanıcılar: 1 misafir
4
Cevap
913
Tıklama
0
Öne Çıkarma
C ' de fonksiyonlarla ilgili acil bir soru
N
16 yıl
Teğmen
Konu Sahibi

arkadaşlar şimdi bir fonksiyonum var

int read(char *oprtr, int *oprnd)
{
printf("Operator : ");
scanf("%c",oprtr);
printf("Operand : ");
scanf("%d",oprnd);

}

şimdi bu fonksiyonu while döngüsü içinde çağırdığımda sadece 1 defa değer alıyor 2. defa alamıyorum.

örnek bir while döngüsü :

while(1)
{
read(&oprt,&oprn);
}

burda sonsuz döngü görünüyor ama kendi programımda sonsuz değil.

nerde yanlış yapıyorum yardımcı olur musunuz?





< Bu mesaj bu kişi tarafından değiştirildi Necron -- 13 Mart 2008; 0:19:22 >

L
16 yıl
Teğmen

bi kaç kez girilmesini istersen şöyle bişi olabilir ;

while ( oprnd != 0 )
{
read(&oprt,&oprnd);
}

oprnd 0 girilene kadar sürekli giriş yapmanı ister burda. Eğer belli bi sayıda giridirmek istersen de bi sayac atabilirsin.


Bu mesaja 1 cevap geldi.
N
16 yıl
Teğmen
Konu Sahibi

teşekkürler ama sorun bu değil. test etme imkanınız varsa bu şekilde birşey yazıp denerseniz memnun olurum. while içerisinde read() ilk çalıştığında

printf("Operator : ");
scanf("%c",oprtr);
printf("Operand : ");
scanf("%d",oprnd);

bölümünü 1 defa sorunsuz işletiyor ancak ikinci dönüşünde ekrana "Operator : Operand :" yazıp geçiyor değer almıyor.


Bu mesaja 1 cevap geldi.
N
16 yıl
Çavuş

fonksiyonun içerisinde fflush(stdout) veya fflush(stdin) fonksiyonlarını çalıştırmak yararlı olabilir belki.


Bu mesaja 1 cevap geldi.
N
16 yıl
Teğmen
Konu Sahibi

arkadaşlar sanırım sorun scanf deymiş...
scanf(" %c",oprtr);

şeklinde yazınca düzeldi sanırım ENTER ile ilgili bişey, bu yüzden operator bölümünü atlıyormuş.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.