Aşağıdaki kodu derste çözdüğümüzde çıktısı ;
ilk satır : 3 ve 0
ikinci satır 9 ve 2 olarak cevabı mevcut.
Fakat programda çalıştırdığımda farklı bir sonuç veriyor. Nerede bir yanlışlık var acaba ?
ayrıca bu satırdaki işlem nasıl yapılır yani işlem önceliği nasıl acaba ; a2 -= a3-- + --a1;
a2 - (a3--+ --a1); şeklinde çözülmesi gerekiyor değil mi ?
#include <stdio.h>
int main()
{
int a1 = 3, a2 = 0, a3;
a1 += a2;
a3 = a1 + 10/a1 + a2;
a2 -= a3-- + --a1;
printf("%d \t %d \n", a1, a2);
a3 += a1--;
printf("%d\t %d", a3++, a1);
return 0;
}
C Soru
2
●231
- 15-11-2017, 00:45:18Hocam yorum satırlarıyla açıklamaya çalıştım umarım faydalı olur.
int main(){ int a1 = 3, a2 = 0, a3; a1 += a2; // a1 = 3 a3 = a1 + 10/a1 + a2; // a3 = 3 + 10/3 + 0 = 3+3+0 = 6 a2 -= a3-- + --a1; // a2 = 0 - ( 6 + 2 ) = -8 --->>> bu satırdan sonra a3:5 ve a1:2 printf("%d \t %d \n", a1, a2); a3 += a1--; // a3 = 5 + 2 = 7 // bu satırdan sonra a1: 1 printf("%d\t %d", a3++, a1); return 0; } - 15-11-2017, 02:07:15Üyeliği durdurulduAnladım hocam, çok teşekkürlerMertTopuz adlı üyeden alıntı: mesajı görüntüle