Örnekte hata alıyorum?

Başlatan cinar.dogan, 05 Ağustos 2017 - 12:53:21

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

cinar.dogan

Burada ekrana 11 çıkıyora hata nerde var??
/*1...10'a kadar olan sayıları yan yana yazdırmak*/

#include <stdio.h>

int main ()

{
int i;

for (i=1 ; i<=10 ; i++);

printf("%d",i);

getchar();


}

edge35

#1
[mention=629613]@cinar.dogan[/mention] Aynı kod bende düzgün çıktı veriyor.
Kod (KAYNAK KOD) Seç
#include <stdio.h>

int main()
{
int i;
for (i = 1; i <= 10; i++)
{
printf("%d",i );
getchar();
}
return 0;
}


Kod (ÇIKTI) Seç
myilmaz@pardus:/media/myilmaz/2c07f88f-0d66-4c3d-9d65-b34242650b40/home/muhammed/Clouds/Dropbox/C Programming Language/Denemeler$ ./1den10a.out
1
2
3
4
5
6
7
8
9
10
myilmaz@pardus:/media/myilmaz/2c07f88f-0d66-4c3d-9d65-b34242650b40/home/muhammed/Clouds/Dropbox/C Programming Language/Denemeler$


Bu arada verdiğiniz kodları code etiketi içerisinde vermenizi öneririm. Kullanımını bilmiyorsanız forumda "code etiketi" diye aratabilirsiniz.



Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 05 Ağustos 2017 - 14:22:51



Hatayı şimdi farkettim :)

Alıntı Yapfor (i=1 ; i<=10 ; i++);

printf("%d",i);
for( ; ; )'dan sonra eğer süslü parantez ({}) içerisinde yazmazsanız for'u döndürür, döndürme işlemi bittikten sonra alttaki satıra geçer. Eğer süslü parantez ({}) içerisinde yazarsanız içerisindekileri de uygulayarak döndürür.


Sorunlarımı çözerken her şeyiyle öğrenmeye çalışıyorum. Bana balık verenden Allah razı olsun, ama bana balık tutmayı öğretenden Allah daha çok razı olsun :)

7hr33l3t73r

#2

.........
for (i=1 ; i<=10 ; i++)
printf("%d",i);
.........

Kaldirildi:  '\n'
dc -e '[q]sa[ln0=aln256%Pln256/snlbx]sb207356256404211981204295703670388snlbxq'
https://www.getgnu.org/gnulinux/gnulinux-ipuclari/nasil-akillica-soru-sorulur.html

mhmtkrktr

Alıntı Yap/*1...10'a kadar olan sayıları yan yana yazdırmak*/

Soru yanlış sorulmadıysa cevaplar yanlış bence ;-)

afeser

#4
Verilen kod bana gayet doğru geldi.
11 detken toplam 11 karakter mi demek oluyor?
Toplam zaten 11 karakter çıkmayacak mı?

Edit:for döngüsünden sonra noktalı virgül kullanmışsınız. Bu sürekli i'yi arttırıp printf fonksiyonunu en sonunda çağırır.

#include <stdio.h>

int main ()

{
int i;

for (i=1 ; i<=10 ; i++)

printf("%d",i);

getchar();


}


şeklinde kullanın
Gelecek illa ki gelecek, önemli olan kimin getirdiği...

mhmtkrktr

Anladığımdan değil ama örneklere bakarak alt alta ile yan yana arasında fark olabileceğini düşündüğüm için söylemiştim.
Şunun gibi mesela;
for i in {1..10}; do printf "%d \n" "$i"; done
for i in {1..10}; do printf "%1s %s" "$i"; done

Bu soru veya C için bir anlam ifade etmiyor da olabilir belki.