请教C语言的几个简单问题

来源:百度知道 编辑:UC知道 时间:2024/04/28 08:19:21
麻烦高手帮忙下
写出程序运行结果.
1.main()
{int a =1,b=2,c=3;
printf("%d,%d,%d,%d\n",a=b=c,a=b==c,a==(b=c),a==(b==c));
}

2.main()
{int a=10,b=20,c=30,d;
d=++a<=10||b-->=20||c++;
printf("%d,%d,%d,%d\n",a,b,c,d);
}

问题补充:
=与==有啥区别啊
||是啥意思啊

1>
输出3,1,0,0
2>

输出11,19,30,1

=是赋值 ==是比较 当a=3,b=2时, b=a就是把a的值复制一份,然后给b 这时 a=3,b=3了

当a=3,b=2时,
a==b 就是a和b的值比较 如果a和b相等,则a==b这个表达式的值为1

如果不相等,为0 显然a==b 为0
||是或的意思 a||b 只要a和b的值有一个不为0,a||b这个表达式的值为1 如果a和b都为0,则a||b 为0

=与==的区别:
=表示赋值,==表示等于;
如i=3表示将3赋值给变量i,在内存中i的值为3,表达式的值为3;而i==3表示判断,i的值不一定等于3,表达式的值为0或者1;

||表示"或",是逻辑运算符!
和日常生活中的或者一样,只不过是个符号而已!