C语言多种运算符连用的情况

1.自加

int i = 4, j = 5;
int k = i+++ 5;
#先用后加:i=5,j=5,k=9;

int i1 = 4, j1 = 5;
int k1 = ++i1 + j1;
#先加后用:i1 = 5 j1= 5 k1=10

2.还有用在判断条件的情况:

int test = 0;
if (++test)
    cout << "test ture" << endl;
else cout << "test false" << endl;

int test1 = 0;
if (test1++)
    cout << "test1 true"<<endl;
else cout << "test1 flase"<<endl;

结果如下:


结果.png

3.多级比较

int a = 3, b = 5, c = 1, d = 7;
int x = a > b ? a : c > d ? c : d;
cout << "x="<<x<<endl;
#结果为x=7,首先判断a>b?a:(内容),再判断 c > d ? c : d,得到x=7

4.特殊笔试问题

  int a=8,b=9,c=7,d;
  d=(a+b,b-c,a-c);
  cout<<d<<endl;

当出现左值 = (表达式1,表达式2,表达式3,......);的时候 只取小括号里面最后一个表达式的结果,所以上述d的值是1(a-c)

用的是c++语言,经过vs ultimate2013 编译运行成功

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。