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

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/20 10:31:27
设有数组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的定义为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