C和C++中三目运算符对比
2016-01-23 22:10
274 查看
比较
C中三目运算符返回的是变量的值,三目运算符不能作为左值使用C++中三目运算符返回的是变量的引用,所以既可以作为左值也可以作为右值使用
#include <stdio.h> int main() { int a = 1; int b = 2; a>b?a:b = 10;//直接给表达式的返回值赋值 printf("%d\n",a); printf("%d\n",b); getchar(); return 0; }
警告:当三目运算符有可能返回常量时,返回的是值,也就是如下a>b?1:b = 1;表达式编译不过
C中三目运算符如何返回变量
#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int a = 1; int b = 2; *(a>b?&a:&b) = 10; printf("%d\n",a); printf("%d\n",b); return 0; }
让表达式返回指针,然后通过指针修改
相关文章推荐
- 几种素数的判定方法
- utilities(C/C++)
- C++类静态成员初始化
- 小蚂蚁学习C语言(35)——两行三列二维数组变三行两列二维数组
- 常见算法:C语言求最小公倍数和最大公约数三种算法
- C语言 hdoj1002
- C/C++中volatile关键字详解
- c++的那些坑--运算符优先级
- 全局变量引发的链接时的LNK2005xxx already defined in yyyy.obj
- c++中类对象分配内存大小与虚继承的一些问题
- 【C语言】写一个函数,实现字符串内单词逆序
- 用VLFeat库进行SIFT特征提取(C++ 实现)
- 1023. Have Fun with Numbers (20)
- HDU-1032-The 3n + 1 problem(C++&学英语&水题)
- c++企业级接口框架(二)
- 库函数的认识及 C/C++常用 api 及基本库
- 1084. Broken Keyboard (20)
- GCC 下 tranform 调用 toupper, tolower 出错原因及解决
- C++学习笔记(二) bool const 和 #define 结构体内存对齐
- 编程学习笔记之c++相关::模板元的学习