求c语言高手,我的这个程序为什么得不到想要的输出呢

#include <stdio.h>
int main (void)
{
int a;
for (a =23;a <= 500; a++)
{
if ((a%3 == 2)&&(a%5 == 3)&&(a&7 == 2))
printf ("%d\n", a);
else
continue;
}
return 0;
}
我想要得到 找出500以内 除以3余2 除以5余3 除以7余2得数
程序思路没问题,就是有点小粗心,我帮你运行了下,是其中的7余2得数被你写错了
不是&,而是%,相信你自己也可以理解,不用多说
#include <stdio.h>
int main (void)
{
int a;
for (a =23;a <= 500; a++)
{
if ((a%3 == 2)&&(a%5 == 3)&&(a%7 == 2))
printf ("%d\n", a);
else
continue;
}
return 0;
}
运行过,解答比较慢州大,谅解。
还有,这种不是语法错误手握,是不会报错的,哪种编译器都一样,编译器不可能这么智能的,vc6.0也是一样册薯竖的。
谁知道你想要输出什么啊?怎么给你看
是a%7==2误锋袜明打为a&7==2了 &是位与 所以你这好滑种错误是逻辑错误是银告任何编译器都查不出来的。
你慎岁没得到的是什么输出,你想雀搏要得宽纳到的是什么输出?

if ((a%3 == 2)&&(a%5 == 3)&&(a%7 == 2))
a&7

%