c++基础知识拾遗
在C里面,&有几种意思
1、当两个连在一起的时候。&&。代表的是“并且”的意思
例如a==1&&b==2.就是当a=1并且b=2的时候!
2、表示引用,例如int a; int &ra=a; //定义引用ra,它是变量a的引用,即别名
3、&表示两种运算符,其中一种表示取值运算符,一种是按位与
(3.1)、取值运算符
int a=1;
int *p=&a; //其中&a表示的就是把a中的地址取出来,然后赋给指针变量,也就是说&a表示的是变量a在内存中的地址。你可以使用printf函数输出这个地址
(3.2)、按位与运算符
计算规则:如果两个数都都为真(或为1),其结果为真,如果两位数中有一位为假(或为0)者结果为假
比如a&b;表示把a和b进行二进制的按位与运算
比如8&10,其中8的二进制是0000 1000,而10的二进制是0000 1010,因此
0000 1000(十进制8)
& 0000 1010(10进制10)
结果为0000 1000(就是10进制的8)
因此8&10的结果为8
===================<c++基础知识拾遗之&>===================================
----------------------------------<||运算符从左向右,截断判断>----------------------------------------------------
// coutTEst.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "iostream"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int a = 0;
int b= 0;
if(((a =3) || (b=3)))
{
a++;
b++;
}
cout<<a<<endl;
cout<<b<<endl;
return 0;
}
//输出结果为4、1
========================<||运算符从左向右,截断判断>=============================
------------------------------------------<&&运算符从左向右,全部判断>------------------------------------------------
// coutTEst.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "iostream"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int a = 0;
int b= 0;
if(((a =3) && (b=3)))
{
a++;
b++;
}
cout<<a<<endl;
cout<<b<<endl;
return 0;
}
============================<&&运算符从左向右,全部判断>====================================