/*ca38a_demo指派操作符
左操作符必須是非const的左值
指派操作的右結合性
指派操作具有低優先級
謹防混淆相等操作符和指派操作符
複合指派操作符
*/
#include <iostream>
using namespace std;
int get_value();
int main()
{
int a;
a = 1;//指派
cout << a << endl;
int i, j, ival,jval;
double d;
d = i = 3.5;//指派操作的右結合性
cout << d << "," << i << endl;
i = d = 3.5;
cout << d << "," << i << endl;
string s1, s2;
s1 = s2 = "OK";//指派操作的右結合性
ival = jval = 0;//指派操作的右結合性
i = 12;
ival = 3.14159;//
//cout << ival << endl;
const int ci = i;
//1024=i;//非法
//i + j = ival;//非法
//ci = ival;// const值不能改變。
int ia[10];
//ia = 0;
ia[0] = 0;
*ia = 1;//解引用操作
int k = get_value();
while (k != 35)
{
cout << "您輸入的是:" << k << endl;
k = get_value();
}
return 0;
}
int get_value()
{
int res;
cout << "請輸入一個整數: ";
cin >> res;
return res;
}
//複合指派操作符
#include <iostream>
using namespace std;
int main()
{
int i;
cout << "請輸入一個整數: ";
cin >> i;
//小心:=和==
if (i == 42)
{
cout << "您輸入的是42" << endl;
}
else
{
cout << "您輸入的不是42" << endl;
}
//getchar();
//複合指派操作符
int a, b;
a = 1;
b = 2;
a = a + b;
a += b;
a = a - b;
a -= b;
a = a * b;
a *= b;
a = a / b;
a /= b;
a = a % b;
a %= b;
a = a << 2;//-------------
a <<= 2;//-------------
a = a >> 2;
a >>= 2;
a = a & b;
a &= b;
a = a | b; //位或
a |= b;
a = a ^ b;//^ ,位異或-------相同為0,否則為1
a ^= b;
system("pause");
return 0;
}