设int a=5,b=4; 则表达式 (a=b++)?++a:b++的值是5,

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 19:36:03
设int a=5,b=4; 则表达式 (a=b++)?++a:b++的值是5,

设int a=5,b=4; 则表达式 (a=b++)?++a:b++的值是5,
设int a=5,b=4; 则表达式 (a=b++)?++a:b++的值是5,

设int a=5,b=4; 则表达式 (a=b++)?++a:b++的值是5,
这个表达式先判断(a=b++)这个逻辑式是否成立,在执行该判断时a=5,b=4,故该逻辑式输出0,同时该逻辑式执行b++,故b=5.因为逻辑式输出0,故执行冒号后一条语句,在执行语句过程中b=5,执行完之后b=6,也就是说b++语句在逻辑式和输出过程中被分别执行了一次,而输出地是执行语句过程中的值,因此是5.
假如a=5,b=5,那么输出结果是6,它执行了++a这条语句.