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

来源:学生作业帮助网 编辑:六六作业网 时间:2024/07/08 03:51:21
设有数组a的定义为inta[]={1,2,3,4};若语句a[3]=--a[0]?a[1]++:a[2]++;执行后,数组a的各元素依次为:0243为什么a[3]=3?设有数组a的定义为inta[]=

设有数组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