jcyumeng 2017-11-17 09:33 采纳率: 0%
浏览 2063

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);
        }
    }
 }
}
  • 写回答

2条回答 默认 最新

  • 蒋固金 2017-11-17 09:45
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置