当前位置: 代码迷 >> C语言 >> 小题求解
  详细解决方案

小题求解

热度:377   发布时间:2006-01-13 15:36:00.0
小题求解
程序中定义以下宏 #define S(a,b) a*b
若定义 int area; 且令area=S(3+1,3+4),则变量area的值为:
A.10 B.12
C.21 D.28
设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为
A.不定值 B.4
C.3 D.1
我有点迷糊的小题 都做错了

搜索更多相关的解决方案: 求解  

----------------解决方案--------------------------------------------------------
是D和B吗?

[此贴子已经被作者于2006-1-13 15:48:05编辑过]


----------------解决方案--------------------------------------------------------
我也这么选的 可是在http://www.programfan.com/test.asp上的题 选A和c
可能是他错了吧

----------------解决方案--------------------------------------------------------

对,他的答案没错,我太大意了


----------------解决方案--------------------------------------------------------
第一题的
area=S(3+1,3+4)
转换后是
3+1*3+4
等于 10

第二题t=++x||++y;太迷惑人了

这两个题就像脑筋急转弯,C语言的题就是这点烦人。

----------------解决方案--------------------------------------------------------

我明白了


----------------解决方案--------------------------------------------------------
8、若有以下程序片段: char str[ ]="ab\n2\\"; printf("%d",strlen(str)); 上面程序片段的输出结果是
A.3 B.4
C.6 D.12
错误:您选择的是B,正确答案为C
??????????
----------------解决方案--------------------------------------------------------
以下是引用aiyuheng在2006-1-13 17:18:00的发言:
8、若有以下程序片段: char str[ ]="ab\n2\\"; printf("%d",strlen(str)); 上面程序片段的输出结果是
A.3 B.4
C.6 D.12
错误:您选择的是B,正确答案为C
??????????

正确答案应该是5
"ab\n2\\"l输出应该为
ab
a\
再加上'\0',为5


----------------解决方案--------------------------------------------------------
strlen函数的值为字符串中的实际长度,不包括\0再内!
----------------解决方案--------------------------------------------------------
a
b
\n
2
\\
\0
一共6个,我只能这么理解了。
----------------解决方案--------------------------------------------------------
  相关解决方案