Çözüldü C dilinde "{error} expected expression before" hatası

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

KouPc

Attopat
Katılım
24 Ağustos 2022
Mesajlar
53
For döngüsünün bulunduğu 11. satır için {error} expected expression before ')' token hatası veriyor.
Yardımlarınızı bekliyorum.
 

Dosya Ekleri

  • IMG_20220824_185225.jpg
    IMG_20220824_185225.jpg
    450,5 KB · Görüntüleme: 296
Bir kere algoritma yanlış. Kodu nerden yaptın, neye dayanarak yaptın, nereden öğreniyorsun bilmiyorum. for b == a'nın Türkçesi; a eşittir b için demektir. Yani a, b'ye eşit olduğu müddetçe loopta olacak. Bu da hiç bir zaman. b <= a yazman lazım ki artarken çarpsın ve en sonunda kendiyle çarpılsın. Doğru loop;

C:
for(b = 1; b <= a; b++) {
    c = c * b;
}

Bunu yazdırdığında faktöriyel doğru bir şekilde çıkmalı.
Maalesef çalışmadı.
 
Maalesef çalışmadı.
Yazdığını buraya kopyala yapıştır yapar mısın? Fotoğraf değil, kodu at buraya. Ben çalıştırabiliyorum çünkü.

C:
#include<stdio.h>
#include <stdlib.h>

int main()
{

    printf("Faktoriyel Programi\n\n");
    int a = 0, b = 0, c = 1;
    printf("Faktoriyeli alinacak sayiyi girin: ");
    scanf_s("%d", &a);

    for (b = 1; b <= a; b++) {
        c = c * b;
    }
    printf("Sonuc: %d", c);
}
 
Bir kere algoritma yanlış. Kodu nerden yaptın, neye dayanarak yaptın, nereden öğreniyorsun bilmiyorum. for b == a'nın Türkçesi; a eşittir b için demektir. Yani a, b'ye eşit olduğu müddetçe loopta olacak. Bu da hiç bir zaman. b <= a yazman lazım ki artarken çarpsın ve en sonunda kendiyle çarpılsın. Doğru loop;

C:
for(b = 1; b <= a; b++) {
    c = c * b;
}

Bunu yazdırdığında faktöriyel doğru bir şekilde çıkmalı.

Yazdığını buraya kopyala yapıştır yapar mısın? Fotoğraf değil, kodu at buraya. Ben çalıştırabiliyorum çünkü.

C:
#include<stdio.h>
#include <stdlib.h>

int main()
{

    printf("Faktoriyel Programi\n\n");
    int a = 0, b = 0, c = 1;
    printf("Faktoriyeli alinacak sayiyi girin: ");
    scanf_s("%d", &a);

    for (b = 1; b <= a; b++) {
        c = c * b;
    }
    printf("Sonuc: %d", c);
}
Mesela 5 faktöriyel 120 5 yazıp entera basınca bir şey çıkmıyor herhangi bir tuşa daha basıp enter yapınca 120 yazıyor.
 
Son düzenleme:

scanf("%d\n", &a) yerine scanf("%d", &a) kullanman gerek çünkü.
Yeni başlayan biri için güzel tecrübe oldu ve \n mantığını daha iyi kavradım teşekkürler bu sene Kocaeli bilgisayar mühendisliği 1. sınıfa başlayacağım tavsiyen var mı?
Bu arada if else operatörleri ile hesap makinesi yapmaya çalışıyorum operatörlerin olduğu her satır için hata veriyor ona da bi bakarsan sevinirim:)
 
Son düzenleme:
Yeni başlayan biri için güzel tecrübe oldu ve \n mantığını daha iyi kavradım teşekkürler bu sene Kocaeli bilgisayar mühendisliği 1. sınıfa başlayacağım tavsiyen var mı?
İngilizceni geliştir, Google'da arama yapmayı öğren. Başka tavsiye istiyorsan yeni konu açmanı öneririm. Forumda benden çok daha bilgili kişiler var.
 

Technopat Haberler

Yeni konular

Geri
Yukarı