为了账号安全,请及时绑定邮箱和手机立即绑定

运行两次,倒数第三个位置没变,结果却变了?

#include <stdio.h>

int main()

{

    double money =12      ; 

    double cost =11.5       ;  

    printf("小编能不能打车回家呢:"); 

    printf("%c\n",money>=cost?'y':'n');

    printf("%c\n",(money>=cost)?'y':'n');

    

    printf("%c\n",(money>cost)||(money=cost)?'y':'n');

    printf("%c\n",(money=cost)||(money>cost)?'y':'n');

    printf("%c\n",((money>cost)||(money=cost))?'y':'n');

    

    printf("%c\n",(money>cost)&&(money=cost)?'y':'n');

    printf("%c\n",(money=cost)&&(money>cost)?'y':'n');

    printf("%c\n",((money>cost)&&(money=cost))?'y':'n');

    


    

    

    return 0;

}

#include <stdio.h>

int main()

{

    double money =12      ; 

    double cost =11.5       ;  

    printf("小编能不能打车回家呢:"); 

    printf("%c\n",money>=cost?'y':'n');

    printf("%c\n",(money>=cost)?'y':'n');

    

    printf("%c\n",(money>cost)||(money=cost)?'y':'n');

    printf("%c\n",((money>cost)||(money=cost))?'y':'n');

    

    printf("%c\n",(money>cost)&&(money=cost)?'y':'n');

    printf("%c\n",(money=cost)&&(money>cost)?'y':'n');

    printf("%c\n",((money>cost)&&(money=cost))?'y':'n');

    


    

    

    return 0;

}


正在回答

2 回答

复制上半部分,把格式改标准,删除第11行会改变倒数第三行的打印结果。好恐怖,不是n了。删除第10和第12都没事。

0 回复 有任何疑惑可以回复我~

(money>cost)&&(money=cost)

'&&'意思是前后条件都要满足,所以原因就很简单了

1 回复 有任何疑惑可以回复我~
#1

weixin_慕丝3003608

||是“或”,是只要有一个满足条件就可以了
2021-07-21 回复 有任何疑惑可以回复我~
#2

宝慕林9803269 提问者

这是倒数第三行\n: printf("%c\n",(money>cost)&&(money=cost)?'y':'n'); 问题中下面int main()运行结果倒数第三个是y。 上面的int main()运行结果倒数第三个是n。 我的问题是: printf("%c\n",(money>cost)&&(money=cost)?'y':'n');这个运行结果为什么不确定。
2021-07-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

运行两次,倒数第三个位置没变,结果却变了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信