Ubuntu Türkiye

Yazılım => Programlama => C/C++ => Konuyu başlatan: cinar.dogan - 05 Ağustos 2017 - 12:53:21

Başlık: Örnekte hata alıyorum?
Gönderen: cinar.dogan - 05 Ağustos 2017 - 12:53:21
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();


}
Başlık: Ynt: Örnekte hata alıyorum?
Gönderen: edge35 - 05 Ağustos 2017 - 14:17:59
[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.
Başlık: Ynt: Örnekte hata alıyorum?
Gönderen: 7hr33l3t73r - 21 Ağustos 2017 - 17:40:13

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

Kaldirildi:  '\n'
Başlık: Ynt: Örnekte hata alıyorum?
Gönderen: mhmtkrktr - 21 Ağustos 2017 - 21:10:35
Alıntı Yap/*1...10'a kadar olan sayıları yan yana yazdırmak*/

Soru yanlış sorulmadıysa cevaplar yanlış bence ;-)
Başlık: Ynt: Örnekte hata alıyorum?
Gönderen: afeser - 21 Ağustos 2017 - 23:33:38
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
Başlık: Ynt: Örnekte hata alıyorum?
Gönderen: mhmtkrktr - 22 Ağustos 2017 - 19:33:24
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.