#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
int main ()
{
int sayi, a, n=0, sayac=0;
printf ("Uretilcek sayi adetini giriniz:\n");
scanf ("%d",&sayi);

srand (time(0));
for (n=0;n<sayi;++n)
{
a=rand();
if (a%3==0)
{
sayac++;

}
printf ("%d ",a);
}
printf ("Bu sayilarin %d'si 3 ile tam bolunur",sayac);

getch ();
return 0;
}

şimdi burada forun içinde ++n ya da n++ kullanmamın bir farkı olmuyor? Peki olayı nedir?

 

++n önce arttırıp sonra kullanır.

eksi sozlukte eksiyen adam

Burada fark yok. Başka bir değişkene atanmıyorsa daha doğrusu bu işlem o satırda doğrudan kullanılmayacaksa önce-sonra fark etmiyor diye hatırlıyorum.

Performans farkı da göz ardı edilebilecek boyuttadır büyük ihtimalle.

nickini vermek istemeyen uye

biraz tartışma konusu o kısım aslında derleyiciden derleyiciye değişiyor diyolar birazdan yazacağım şeye. Ancak özet geçecek olursak ++n, n++'ya göre daha hızlı çalışır.

++i'yi hesaplamak için sistem i'nin değerine 1 ekleyip onu döndürüyor.
i++'da ise öncelikle sistem i'nin bir kopyasını oluşturuyor, orjinal değeri bir artırıyor, kopyayı döndürüyor.

Modern işlemci ve derleyicilerde büyük bir problem yaşamazsın yani.

rastocasdelay
1

mobil görünümden çık