max=(a>b)?a:b;用法困惑

我想用max=(a>b)?a:b; 操作符实现变量count从0自增到500,再从500自减到0循环下去,程序哪里出现问题了为什么输出总是6487628

 #include<stdio.h>
main()
{
    int count=0;
    while(count<=500)
    {
        count=((count++)>(count))?count++:count;
        printf("%d\n",&count);
        while(count==500)
        {
            while(count>=0)
        {
            count=((count--)<(count))?count--:count;
            printf("%d\n",&count);
        }
    }
 }
}

&是取地址符,也就是说你的代码输出的实际是变量count的地址而不是count的值,直接用printf("%d\n", count);

谢谢你,有点粗心了。