bana şu scan f in olayını anlatabilecek biri var mı?
mesela ;
#include<stdio.h>
int main(){
int a;
char op;
scanf("%d",&a);
printf("%d",a);
scanf("%c",&op);
printf("%c",op);
system("pause");
return 0;
}
bu programa herhangi bir tamsayıyı yazıp a olarak atamak için "enter" a bastığımda ikinci scanf i sormadan çıktı olarak o tamsayıyı veriyor ve alt satıra geçiyor , şimdi bu tamsayıdan sonra bastığım "enter" ı c ye atamış oluyor sanırım ama onu atamadan önce a nın işlemini yapıp sonra c için tekrar sorması gerekmez mi ?
çalışma prensibi nedir bu komutun ?
şimdiden teşekkürler...

komutlar sırayla çalışır, e haliyle;
int main(){
int a;
char op;
scanf("%d",&a); // a'ya sayıyı ata
printf("%d",a); // a'nın değerini yazdır
scanf("%c",&op); //op'ye karakter ata
printf("%c",op); //op'yi yazdır
senin anlattığınla bu sıralama arasında bir fark yok sanırım, yani yanlış olan birşey yok.


dediğinizi anladım ama bakın :
program şu :
int main(){
int a;
char op;
scanf("%d",&a);
printf("%d\n",a);
printf("Char gir :");
scanf("%c",&op);
printf("%c",op);
system("pause");
return 0;
}
a ya 2 atamak için 2 yazıp enter a bastığımızı düşünelim -sadece bunu yaptık bunun dışında hiçbir tuşa dokunmadık-
ekran :
2
2
Char gir:
Press any key to continue...
yani char ı girmeye fırsat vermeden onun yerine bir enter atıyor ama neden ?


şimdi anladım ne demek istediğinizi , gerçekten ilginç ben de çözümleyemedim. ama karakteri önce alınca aynı şey olmuyor, onu sağlıklı bir şekilde işliyor, garip.
int main(){
int a;
char op;
scanf("%c",&op);
printf("%c\n",op);
scanf("%d",&a);
printf("%d\n",a);
system("pause");
return 0;
}


evet char'ı tek başına ya da int'ten önce okuyunca sorun olmuyor ama sonra okumaya çalışınca sorun çıkarıyor. c'de char ve string olayları hep sorunlu olmuştur zaten. burda da en basit bişey de bile sorun çıkarıyor. char'ı şöyle sonradan okuyabilirsin ama direk char üzerinden okuyup kullanamaman ilginç.
#include <stdio.h>
int main(){
int a;
char* op;
scanf("%d",&a);
printf("%d\n",a);
printf("Char gir :");
scanf("%s",&op);
printf("%c",op);
system("pause");
return 0;
}


misal;
int main(){
int a;
char c;
scanf("%d",&a);
printf("%d\n",a);
getchar();
c = getchar();
printf("%c\n",c);


mm , bişey daha sormak istiyorum
c dersini bu dönem yeni alıyorum bir proje ödevi verdiler yapılanlardan önce comment satırı girilmesini istemişler ve bu konuyla ilgili doxygen diye birşey önermişler ne işe yarar bu meret ?
