關于比較大小的問題
#include <stdio.h>
int main()
{
? ? int x=5;
? ? int y=5;
? ? int z=10;
? ? printf("x是否大于y:%d\n",? ? ? x>y? ? ? ?); //x是否大于y
? ? printf("y是否大于等于x:%d\n",? ? y>=x? ? ); //y是否大于等于x
? ? printf("y是否小于z:%d\n",? ? ? ? ?y<z? ? ); //y是否小于z
? ? printf("z是否小于等于x:%d\n",? ? ?z<=x? ? ?); //z是否小于等于x
? ? printf("z是否等于x+y:%d\n",? ? z==x+y? ? ? ? ); //z是否等于x+y
? ? return 0;
}
x與y不是一樣大的嗎,但是這樣輸出的結果卻是y大與等于x是正確的。
#include <stdio.h>
int main()
{
? ? int x=5;
? ? int y=5;
? ? int z=10;
? ? printf("x是否大于y:%d\n",? ? ? x>y? ? ? ?); //x是否大于y
? ? printf("y是否大于等于x:%d\n",? ? y>x? ,y=x? ?); //y是否大于等于x
? ? printf("y是否小于z:%d\n",? ? ? ? ?y<z? ? ); //y是否小于z
? ? printf("z是否小于等于x:%d\n",? ? ?z<=x? ? ?); //z是否小于等于x
? ? printf("z是否等于x+y:%d\n",? ? z==x+y? ? ? ? ); //z是否等于x+y
? ? return 0;
}
而這樣分開打卻是y大于等于x是錯誤的。這是什么原因,望兄弟們給個答案。
2019-09-08
>=的邏輯意義是大于或者等于,也就是說y>=x只要滿足y>x或y=x都是成立的
y>=x分開打應該是y>x||y=x