0

Expected expression before ‘=‘ token

Hello guys, I would really appreciate if someone can help me find my mistake In this code: #include <stdio.h> int main() { int y; int x=400; int c=4; int d=100; printf("Enter a year to find out if it is a leap:\n"); scanf("%i",&y); if(y%x==0||y%c==0&&y%d!==0)(printf("%i is a leap year.",&y)); else(printf("%i is not a leap year.",&y)); return 0; }

24th May 2022, 9:19 PM
Raphael El Mouallem
3 Answers
+ 2
In line with leap year check you should change y%d!==0 on y%d!=0, because there is no such an operator !==. Also, in printf function you should change &y on y, since your code will output address of variable y, but not its value: #include <stdio.h> int main() { int y; int x=400; int c=4; int d=100; printf("Enter a year to find out if it is a leap:\n"); scanf("%i",&y); if(y%x==0||y%c==0&&y%d!=0)(printf("%i is a leap year.",y)); else(printf("%i is not a leap year.",y)); return 0; }
24th May 2022, 9:49 PM
Alexus100
Alexus100 - avatar
+ 1
Alexus100 thanks dude, but your answer didn’t really help, i asked my friend and the code is supposed to go like this: #include <stdio.h> int main() { int y; printf("Enter a year:\n"); scanf("%i", &y); if ((y % 400 == 0) || ((y % 4 == 0) && (y % 100 != 0))){ printf("%i is a leap year", y); } else{ printf("%i is not a leap year", y); } return 0; }
24th May 2022, 10:04 PM
Raphael El Mouallem
0
I can add int x, c and d instead of 400, 4 and 100, but things would work anyway, I tested it runned it, and all is fine. One more thing: y%100!=0 is saying that when y is devided by 100 there are certainly remainders y%100!==0 is saying that y devided by 100 should not be equal to 0 but it could be equal to 0
24th May 2022, 10:08 PM
Raphael El Mouallem