&连接两条表达式的话,执行的时候会将两条表达式都算出来,再进行与运算;而&&连接的话,只要第一条表达式为假,则不计算第二条表达式。
可以自己运行以下代码加强理解
在main函数中:
int c,d;
c=2, d=3;
if(c++==5 & d++==6);
printf("%d %d\r\n", c, d);
c=2, d=3;
if(c++==5 && d++==6);
printf("%d %d\r\n", c, d);
#include
#include
int main()
{
char a,b;
a='y';
b=getchar();
if(a == b)
printf("两字都 y \n");
else
printf("第二字 y\n");
return 0;
}