Şimdi Ara

Gets de hata alıyorum Acill !!

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
5 Misafir (1 Mobil) - 4 Masaüstü1 Mobil
5 sn
3
Cevap
0
Favori
719
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Yazdığım programda dev de derlediğim de program çalışıyor fakat ilk gets i okumuyor. visual studio da derlediğimde ise gets de hata veriyor ve program çalışmıyor . Sizce nerede hata yapmış olabilirim.

    #include <stdio.h> 
    #include <conio.h>
    #include <stdlib.h>
    struct yapi{
    char isim[40];
    char adres[40];
    char tel[20];
    int borc;
    };
    int n,i;
    struct yapi *dizi;
    void yazdir(struct yapi *z){
    for(i=0;i<n;i++){
    printf("%d. kadydin ismi : ",i+1); puts(dizi[i].isim);
    printf("%d. kadydin adresi : ",i+1); puts(dizi[i].adres);
    printf("%d. kadydin numarasi : ",i+1); puts(dizi[i].tel);
    printf("%d. kadydin borcu : %d",i+1,dizi[i].borc);
    }
    }
    int main(){
    printf("Kac elemanli bir dizi olussun : ");
    scanf("%d",&n);
    dizi=(struct yapi *)malloc(n*sizeof(struct yapi));
    for(i=0;i<n;i++){
    printf("%d. kaydin ismini giriniz: ",i+1); gets(dizi[i].isim);
    printf("%d. kaydin adresini giriniz: ",i+1); gets(dizi[i].adres);
    printf("%d. kaydin numarasini giriniz: ",i+1); gets(dizi[i].tel);
    printf("%d. kaydin borcunu giriniz: ",i+1); scanf("%d",&(dizi[i].borc));
    }
    yazdir(dizi);
    getch();
    return 0;
    }







  • Ben de kullanmaya çalıştığımda güvenlik nedeniyle gets'e izin vermemişti Visual Studio detayını bilmiyorum, bunun yerine gets_s kullanmanı istiyor. İşlevi aynı gets sadece sonuna _s koymak gerekiyor. Programına bakamadım şu anda ama Visual Studio'da gets hata veriyor dediğini gördüm gets_s yapınca çalışır büyük ihtimalle hata vermeden diye düşünüyorum.
  • OyunSandigi kullanıcısına yanıt
    o şekilde de çalışmıyor
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.