设有数组a的定义为int a[]={1,2,3,4};若语句a[3]=--a[0]?a[1]++:a[2]++;执行后,数组a的各元素依次为:0243为什么a[3]=3?

来源:学生作业帮助网 编辑:作业帮 时间:2024/06/16 12:55:30
设有数组a的定义为int a[]={1,2,3,4};若语句a[3]=--a[0]?a[1]++:a[2]++;执行后,数组a的各元素依次为:0243为什么a[3]=3?
x͐N0_YpR`B8ԛq"8`6|p+صUOgVmH:,D-V's ڎIPti5mFi86 jB[e ^Onwǃ mb0ZklB>i]TThk2L8AeDV>?bHI2삈?Udƃg3<ηCF檟5f"|K[Fe]ޒYDrIaE@33m_Z

设有数组a的定义为int a[]={1,2,3,4};若语句a[3]=--a[0]?a[1]++:a[2]++;执行后,数组a的各元素依次为:0243为什么a[3]=3?
设有数组a的定义为int a[]={1,2,3,4};若语句a[3]=--a[0]?a[1]++:a[2]++;执行后,数组a的各元素依次
为:0243为什么a[3]=3?

设有数组a的定义为int a[]={1,2,3,4};若语句a[3]=--a[0]?a[1]++:a[2]++;执行后,数组a的各元素依次为:0243为什么a[3]=3?
--a[0] =0,条件为假(此时a[0] =0)
所以执行 a[3]=a[2]++;
这个语句其实可以拆分为
a[3]=a[2](a[3]=3)
a[2]++ (a[2]4)
所以最后结果是 0,2,4,3