Ubuntu Türkiye

Yazılım => Programlama => C/C++ => Konuyu başlatan: mesute - 07 Ocak 2017 - 11:12:34

Başlık: [Çözüldü] Geany neden hata veriyor?
Gönderen: mesute - 07 Ocak 2017 - 11:12:34
/*Şekil 6.4:fig06_04.c
Diziye bildirim sırasına ilk değerler verme*/
#include <stdio.h>
int main()
{
int dizi[10]={32,27,64,18,95,14,90,70,60,37};
int i;
printf ("%s %13s\n","Eleman","Değer");
for (i = 0; i <= 9 ;i++1)
printf ("%d %d \n",i,dizi);
return 0;
}



dizi.c:6:5: warning: unused variable 'dizi' [-Wunused-variable]
değişken hatası alıyorum. Acaba nasıl çözülür şimdiden teşekkürler..

[eklenti yönetici tarafından silindi]
Başlık: Ynt: Geany neden hata veriyor?
Gönderen: alquirel - 07 Ocak 2017 - 11:18:43
Dizi değişkenini hatalı tanımlamışsınız. Yanlış hatırlamıyorsam köşeli parantez kullanmanız gerekli.
Başlık: Ynt: Geany neden hata veriyor?
Gönderen: Erdem - 07 Ocak 2017 - 12:23:00
Tırnaklarda hata var. Şu şekilde kullanırsanız çalışır.

#include <stdio.h>
int main()
{
    int dizi[10]={32,27,64,18,95,14,90,70,60,37};
    int i;
    printf ("%s %13s\n","Eleman","Değer");
    for (i = 0; i <= 9 ;i++)
        printf ("%d %d \n",i,*(dizi + i));
    return 0;
}


Burada dizi aslında şuna eşit &(dizi[0]) yani dizinin ilk elemanın adresini gösteriyor. Bunu bir gösterge gibi düşünebiliriz. * göstergenin gösterdiği anlamına geliyor.

*(dizi + 0) deyince dizinin ilk elemanına erişiyoruz.
*(dizi + 1) deyince dizinin ikinci elemanına erişiyoruz.

Bu şekilde diğer dizi elemanlarını yazdırıyoruz.



Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 07 Ocak 2017 - 12:27:02

        printf ("%d %d \n",i,*(dizi + i));

Bu ifade de şuna eşit.

        printf ("%d %d \n",i, dizi[i]);

Hatta ilginçlik olsun diye şu şekilde de yazılabilir.

        printf ("%d %d \n",i, i[dizi]);
Başlık: Ynt: Geany neden hata veriyor?
Gönderen: mesute - 07 Ocak 2017 - 12:55:26
Eyvallah beyler sorun tırnaklarda imiş.. Çok sağolun..