C语言运算符

2018-08-29  本文已影响0人  Cc_5691

赋值运算注意点:

自增自减

自增和自减可以写在变量前面, 也可以写在变量后面

int num = 10;
int res = 10 + ++num; // ++num; int res = 10 + 11
int res = 10 + --num; // --num; int res = 10 + 9
printf("res = %i\n", res); // 21 19
printf("num = %i\n", num); // 11 9

sizeof运算符

int res = sizeof(3.14 + 1);
printf("res = %i\n", res);//8

int res = sizeof3.14 + 1;
printf("res = %i\n", res);//9

关系运算符

逻辑运算符

int a = 10;
int res = (10 > 19) && (++a > 5);
printf("res = %i\n", res); // 0(假)
printf("a = %i\n", a); // 10
// 原因: 无论第二个表达式的结果是真是假, 整个表达式的结果都是假, 所以再计算第二个表达式没有任何意义, 所以只要第一个表达式为假, 第二个表达式就不会运算

int a = 10;
int res = (10 > 9) || (++a > 5);
printf("res = %i\n", res); // 1(真)
printf("a = %i\n", a); // 10
// 原因: 无论第二个表达式的结果是真是假, 整个表达式的结果都是真, 所以再计算第二个表达式没有任何意义, 所以只要第一个表达式为真, 第二个表达式就不会运算

三目运算符

int temp1 = 10 + 5;
int temp2 = 5 + 5;
int res = (temp1 > temp2) ? 666 : 888;
printf("res = %i\n", res);//666

上一篇下一篇

猜你喜欢

热点阅读