stdio.h kütüphanesini eklememişsiniz.
Değişkenleri ilklendirmek (ilk değerlerini vermek) iyi bir alışkanlıktır. Çeşitli durumlarda sapıtmalara yol açabiliyor.
Girintilere dikkat edin. Mesela ilk printf, scanf vefor döngüsü niyeyse 2 Tab kadar içeride.
Şu ana kadar dediklerimi düzelttim. Hali böyle.
Amacınızın bu olup olmadığını bilmediğim için bir şey diyemiyorum.
Kodu incelersem; a'nın döngü değişkeni olduğunu fark ediyorum. Benim başta attığım koddaki gibi döngü içerisinde tanımlarsanız o scope dışında tanımsız olur. O anda işinizi görür ve silmiş olursunuz. Öyle daha rahat bence. Çoğu iyi kişi de öyle yapar.
a'nın giris değişkeninin 2 katından 1 eksik olana kadar devam etmesini sağlamışsınız. Her dönüşte a'nın değerini 2 artırmışsınız. Bu da çıktımızdaki 0, 2, 4, 6, 8'lik kısım oluyor. giris değişkenini 5 olarak verdiğim için a değişkeni 9'a küçük eşit olduğu sürece cevap etti. 10 olunca bıraktı, çıktı döngüden.
İkinci döngüde a değişkenine giris değişkenini atıyorsunuz. giris değişkeninin 2 katından küçük olduğu sürece devam ediyor. Her dönüşte a'nın değerini 1 artırmışsınız. Bu da çıktımızda geriye kalan 6, 7, 8, 9 kısmını yapıyor. a değişkeni 10 olunca giris'in 2 katından, yani 10'dan küçük olmadığı için döngü dışına çıkılıyor.
Sonra bir adet printf("\n"); var. Gelecek işlemlerde alt satıra geçmiş olmak için.
Sizin istediğiniz bunu yapması mıydı? Öyle değilse ne yapmaya çalıştınız?