C语言程序 5.6.7.求答案和过程

如题所述

第1个回答  2015-04-05
5、考察的是转义字符和strlen的计算机制
\t 水平制表符
\v 垂直制表符
\\ 字符\
\0 字符串结束符
strlen是从首地址开始,一直找到字符串结束符\0停止
所以上面的字符串就前面3个字符,到\0停止了,后面的will\n都是无用的,不计算在内,选择C

6、考察的是运算符优先级和逗号表达式
逗号表达式从左到右计算,而整个表达式的值是最右边表达式的值
括号优先级最高,先计算(i=1,i+9),整个表达式的结果是i+9=10,计算完成之后变成
j=10>9?i++||++i:++i
j=10>9为真,>优先级高于=,先计算>,所以j=1,然后计算i++||++i
而||或运算符,当左边表达值为真时,右边将跳过,不计算,因此只计算一次i++
最终i=2,j=1,选择D

7、考察的是运算符优先级和逗号表达式
逗号表达式从左到右计算,而整个表达式的值是最右边表达式的值
括号优先级最高,先计算(a=2+3,a*4),计算之后a=5,而(a=2+3,a*4)表达式的结果是a*4=20,所以计算完成之后,变成了
b=20,a+5,最终结果就是a=5,b=20,选择A追问

太谢谢了 你回答的真详细 我都懂了

本回答被提问者采纳
相似回答