Δημοσιεύτηκε: 09 Μαρ 2012, 23:30
από Ntelispak
Ilias95 έγραψε: Star_Light έγραψε:btw και στην C το ιδιο αποτέλεσμα δινει

Κώδικας: Επιλογή όλων
#include<stdio.h>
int main(void)
{
int x=-9 , y=7;

printf(" %d " , x % y);

return 0;
}


Στην C99 πάντα -2 θα δίνει. Στην C89 όμως εξαρτάται απ' τον compiler όπως λέει ο King. Μπορεί -2, μπορεί 5.


Off topic:
Πολύ περίεργο. Δεν το είχα συναντήσει έως σήμερα ποτέ και δεν γνώριζα ότι στη C -9%7=-2. Από μαθηματικής σκοπιάς η επιλογή θα έπρεπε να ήταν αντίστροφη, δηλαδή -9%7=5 ως ο μικρότερος μη αρνητικός ακέραιος για τον οποίο ικανοποιείται ο αλγόριθμος της Ευκλείδειας διαίρεσης.