赋值运算符

来源:互联网 发布:小程序 video.js 编辑:程序博客网 时间:2024/06/06 21:42
// 赋值运算符.cpp : Defines the entry point for the console application.
//


#include "stdafx.h"
#include <stdio.h>




int main1(int argc, char* argv[])
{
int a=5;
a=3;
int b;
int c;
printf("\n%d",a=4);
printf("\n%d",a=b=c=4); //赋值运算符的结合性从右到左
printf("\n%d,%d,%d\n",a,b,c);

return 0;
}


void main2()
{
//整数10在寄存器中所以无法赋值的不能当作左值
int a=10;
//10=a ;//能当做左值一般在内存中有实体
//'=' : left operand must be l-value  报错赋值号左边必须左值




int b=a;//左值一定可以当作右值 而右值不一定能当作左值 因为右值可能在寄存器


//a+b=10; //a+b在寄存器中运算所以不能当作左值



}
void main3()
{
int a=10;
a+=3;//a=a+3; 
//a+ =3; += *= /= %= 和位运算都不能间隔空格
printf("\n%d",a);
}


void main4()
{
int a=10.998; //赋值号还可以进行类型的自动转换
printf("\n%d",a);


}


void main()
{
int a=12;
a+=a-=a*a; //a=(a=a-(a*a))+a
printf("%d\n",a); //复合赋值运算符是从右到左进行计算


int b=2;
b%=4-1;//2%3=2
b+=b*=b-=b*=3;//从右到左运算 结果为0;
printf("%d\n",b);
}
0 0
原创粉丝点击