一些C语言题目,求高手帮忙!!!

有定义:floatw;inta,b;则合法的switch语句是:(为什么选B?A错在哪里?)A.switch(w){case1.0:printf("*\n");case2... 有定义:float w;int a,b;则合法的switch语句是:(为什么选B?A错在哪里?)
A.switch(w)
{case 1.0:printf("*\n");
case 2.0:printf("**\n");}
B.switch(b)
{case 1:printf("*\n");
default:printf("\n");
case 1+2:printf("**\n");}

2.char arr[2][4];
strcpy(arr,"you");strcpy(arr[1],"me");
(这语句的意思是这样吗?:把‘y' ,'o' ,'u' 依次赋给arr[0][0] arr[0][1] arr[0][2]。把'm','e',依次赋给arr[1][0] arr[1][1])
展开
 我来答
邹金辰bW8af
2013-01-06 · TA获得超过619个赞
知道小有建树答主
回答量:459
采纳率:0%
帮助的人:339万
展开全部
swich支持char 和int ,不支持float

arr可以理解为二维指针,你的字符串是一维的,类型不一样的,可以通过编译,但是会有警告的

arr[1]指向开头arr[1][0] //你的对的

虽然a和a[0]的地址是一样的,运算的结果可能也是对的,但是C语言的相等是指类型+数字相等才是真正的相等,你这样写以后会后悔的
百度网友b9ae3d5
2013-01-06 · TA获得超过232个赞
知道小有建树答主
回答量:114
采纳率:0%
帮助的人:96.9万
展开全部
1.switch后面的参数只能是int型还有char型,w是float型,所以A错。
2.这样理解是对的,扩展来说strcpy(arr,"you")和strcpy(arr[0],"you")是一样的,因为arr是二维数组的首地址,和arr[0]的地址是一致的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
IronAge
2013-01-06 · TA获得超过1771个赞
知道小有建树答主
回答量:352
采纳率:0%
帮助的人:223万
展开全部
A中结构不完整呀
你定义的是 float w w除了取1.0 2.0 以外还能去其他的数啊 所以你要再加个case default
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-01-06
展开全部
w是float型 switch中用整型变量 所以A错了 后面的理解是对的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式