
一些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]) 展开
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]) 展开
4个回答
展开全部
swich支持char 和int ,不支持float
arr可以理解为二维指针,你的字符串是一维的,类型不一样的,可以通过编译,但是会有警告的
arr[1]指向开头arr[1][0] //你的对的
虽然a和a[0]的地址是一样的,运算的结果可能也是对的,但是C语言的相等是指类型+数字相等才是真正的相等,你这样写以后会后悔的
arr可以理解为二维指针,你的字符串是一维的,类型不一样的,可以通过编译,但是会有警告的
arr[1]指向开头arr[1][0] //你的对的
虽然a和a[0]的地址是一样的,运算的结果可能也是对的,但是C语言的相等是指类型+数字相等才是真正的相等,你这样写以后会后悔的
展开全部
1.switch后面的参数只能是int型还有char型,w是float型,所以A错。
2.这样理解是对的,扩展来说strcpy(arr,"you")和strcpy(arr[0],"you")是一样的,因为arr是二维数组的首地址,和arr[0]的地址是一致的。
2.这样理解是对的,扩展来说strcpy(arr,"you")和strcpy(arr[0],"you")是一样的,因为arr是二维数组的首地址,和arr[0]的地址是一致的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A中结构不完整呀
你定义的是 float w w除了取1.0 2.0 以外还能去其他的数啊 所以你要再加个case default
你定义的是 float w w除了取1.0 2.0 以外还能去其他的数啊 所以你要再加个case default
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-01-06
展开全部
w是float型 switch中用整型变量 所以A错了 后面的理解是对的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询