Çözüldü C'de scanf devamı gelmiyor

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

deezwend

Hectopat
Katılım
28 Haziran 2021
Mesajlar
294
Çözümler
4
Daha fazla  
Cinsiyet
Erkek
Merhaba. Bugün C diline başladım. Ufak bir hesaplama programı yapıyordum fakat kullanıcıdan ilk veriyi aldıktan sonra program sonlanıyor ve ikinci veriyi almıyor. Kodlarım aşağıda.

C:
#include <stdio.h>
#include <locale.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>

int main(int argc, char const *argv[])
{
 setlocale(LC_ALL, "Turkish");
 int const bagajsiniri = 15;
 int const elsiniri = 8;
 int const limitasimi = 5;
 int bagaj, el;
 printf("Bagaj agirliginiz:");
 scanf("%d", bagaj);
 printf("\nEl agirliginiz:");
 scanf("%d", el);
 if (bagaj > bagajsiniri && el > elsiniri)
 {
 int odenmesi_gereken_extra_para;
 odenmesi_gereken_extra_para = (bagaj - bagajsiniri) + (el - elsiniri) * limitasimi;
 printf("\nFazlalik yukunuz icin odemeniz gereken para: %d", odenmesi_gereken_extra_para);
 }
 return 0;
}

Burada nerede hata yapıyorum?
 
Çözüm
Merhaba, uzun zamandır C ile ilgilenmedim ama aşağıdaki gibi yaparak tekrar deneyebilir misiniz?
scanf("%d", &bagaj);
scanf("%d", &el);
Merhaba, uzun zamandır C ile ilgilenmedim ama aşağıdaki gibi yaparak tekrar deneyebilir misiniz?
scanf("%d", &bagaj);
scanf("%d", &el);
Oldu. Teşekkür ederim.

Merhaba, uzun zamandır C ile ilgilenmedim ama aşağıdaki gibi yaparak tekrar deneyebilir misiniz?
scanf("%d", &bagaj);
scanf("%d", &el);
Bir de size başka bir şey sormak istiyorum. Javascript'deki gibi özel bir 'let' komutu var mı?
 
Oldu. Teşekkür ederim.


Bir de size başka bir şey sormak istiyorum. Javascript'deki gibi özel bir 'let' komutu var mı?
Let'i inceledim de, C'de tam olarak böyle bir değişken tanılama sistemi yok. Eğer bir değişken scope (kapsam) dışında tanımlandıysa ve scope içinde aynı ismi taşıyan başka bir değişken yoksa scope dışındaki değişkeni kullanır, eğer scope içerisinde kendisinden önce aynı isimde başka bir değişken varsa onu kullanır. Aşağıdaki örnek gibi.

Fakat aynı scopeta aynı isimdeki değişken farklı türlerde veya aynı türde tekrar tanımlanamaz. 2. örnekteki gibi bir tanımlama, farklı türde olması da fark etmez, hatayla sonuçlanacaktır.

Ek olarak bir değişken bir scope içerisinde tanımlandıysa, o scope dışında kullanılamaz.

Eklemeyi unuttuğum şeyler olabilir, aklınıza takılan olursa sorabilirsiniz.
C:
#include <stdlib.h>
#include <stdio.h>
int a = 1;

int main(int argc, char *argv[]) {
    printf("%d\n", a);
    int a = 5;
    printf("%d",a);
    return 0;
}
/*OUTPUT: 1
5
*/

C:
#include <stdlib.h>
#include <stdio.h>
int a = 1; 
int main(int argc, char *argv[]) {
    printf("%d\n", a);
    int a = 5; 
    int a = 3; 
    printf("%d",a);
    return 0;
}
//OUTPUT: ERROR
 

Technopat Haberler

Yeni konular

Geri
Yukarı