C需要读程序
答案:2 悬赏:30 手机版
解决时间 2021-11-24 21:38
- 提问者网友:伴风望海
- 2021-11-23 22:45
C需要读程序
最佳答案
- 五星知识达人网友:等灯
- 2021-11-24 00:03
第三题第三行:
int i, a[5] = {0,0,0,0,0};是这一行吧,这只是变量的声明和初始化。a[5] = {0,0,0,0,0}
中,数组的初始化就是这样。
第四题:
if(i++ == 1 && (++j == 3 || k++ == 3))首先i = 1, j = 2, k = 3
C语言的判断条件是这样的,i++ == 1 (i++采用的方式是先用后++,所以此句中i = 1,条件成立)
判断下一条,++j == 3 (++j采用的方式是先++用后,所以此句中j = 3,条件成立)
由于(++j == 3 || k++ == 3) 中++j == 3 成立,所以(++j == 3 || k++ == 3)恒成立。k++ == 3这条语句不需要判断,所以k++没有执行。
所以 i = 2, j = 3, k = 3
int i, a[5] = {0,0,0,0,0};是这一行吧,这只是变量的声明和初始化。a[5] = {0,0,0,0,0}
中,数组的初始化就是这样。
第四题:
if(i++ == 1 && (++j == 3 || k++ == 3))首先i = 1, j = 2, k = 3
C语言的判断条件是这样的,i++ == 1 (i++采用的方式是先用后++,所以此句中i = 1,条件成立)
判断下一条,++j == 3 (++j采用的方式是先++用后,所以此句中j = 3,条件成立)
由于(++j == 3 || k++ == 3) 中++j == 3 成立,所以(++j == 3 || k++ == 3)恒成立。k++ == 3这条语句不需要判断,所以k++没有执行。
所以 i = 2, j = 3, k = 3
全部回答
- 1楼网友:迟山
- 2021-11-24 00:28
第三题第三行是初始化数组a[5]的元素全部为0
第四题 if ( i++==1 && ( ++j==3||k++==3 ) )
i=1j=2,k=3;
i++==1 真 && ++j==3 真 k++==3 真
C语言是短路求值的,都是先判断第一个表达式,如果能求出结果,
后面的判断就不会执行了。是先判断条件A,再判断条件B。
先判断conditionA再判断conditionB和编译器无关
不过对于&&只要conditionA为假conditionB就不判断了
对于||只要conditionA为真conditionB就不判断了
因为结果已经知道了
所以k++==3没有执行 所以k还是3
第四题 if ( i++==1 && ( ++j==3||k++==3 ) )
i=1j=2,k=3;
i++==1 真 && ++j==3 真 k++==3 真
C语言是短路求值的,都是先判断第一个表达式,如果能求出结果,
后面的判断就不会执行了。是先判断条件A,再判断条件B。
先判断conditionA再判断conditionB和编译器无关
不过对于&&只要conditionA为假conditionB就不判断了
对于||只要conditionA为真conditionB就不判断了
因为结果已经知道了
所以k++==3没有执行 所以k还是3
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯