c语言中如果int a=5,b=1; t=(a<<2|b);请问t=? 详解

 我来答
叁万英尺2010
推荐于2018-04-09
知道答主
回答量:35
采纳率:0%
帮助的人:26万
展开全部
a=5=101; a<<2=10100;a<<2 |b=10100|00001=10101=21;
移位操作符比位或操作符优先级高。
280826515
2011-08-24 · 超过10用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:25.9万
展开全部
a*4+1=21
左移一位相当于*2,两位就*2*2 |相当与加
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-08-25
展开全部
<<的优先级高
a<<2:10100
1:00001
t=10101
十进制为21
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天空尽
2011-08-24
知道答主
回答量:6
采纳率:0%
帮助的人:9268
展开全部
2|b=00000011
t=a<<(2|b)=00101000
t=40
我也是正在学习,不晓得算对没哈!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
532gplt587
2011-08-25 · TA获得超过323个赞
知道答主
回答量:514
采纳率:0%
帮助的人:287万
展开全部
/*程序已测试OK*/
#include "stdio.h"
#include "conio.h"
int a[]=;
int b[]=;

/************************************************************/
/*排序 */
/* *Block 指向数组的指针 */
/* Quantity 数据总数 */
/************************************************************/
void Seqencing(int *Block,unsigned int Quantity)
{
unsigned int i,j;
int n;
for(i=0;i<Quantity;i++)
{
for(j=i+1;j<Quantity;j++)
{
if(*(Block+i)>*(Block+j))
{
n=*(Block+j);
*(Block+j)=*(Block+i);
*(Block+i) = n;
}
}
}
}

/***********************************************************/
/*求是否相等 */
/*Quantity 数据总数 */
/***********************************************************/
char Compare(unsigned int Quantity)
{
int size1,size2;
unsigned int i;
if(sizeof(a) == sizeof(b))
{
for(i = 0; i<Quantity;i++)
{
if(a[i] != b[i])return 0; /*如果有不相等的则返回 0*/
}
return 1;
}
else
return 0; /*都相等的则返回 1*/
}

void main()
{
int block;
unsigned int i;
block = sizeof(a)/2; /*计算数组数据个数*/
Seqencing(a,block); /*对数组进行排序*/
printf("\n\n-------------------------------------------------------------------------------\n\n");
for(i=0; i<block;i++)
{
printf("a:%d\t",a[i]); /*输出排序结果*/

}
printf("\n\n-------------------------------------------------------------------------------\n\n");

block = sizeof(b)/2;
Seqencing(b,block);
printf("\n\n-------------------------------------------------------------------------------\n\n");
for(i=0; i<block;i++)
{
printf("b:%d\t",b[i]);
}
printf("\n\n-------------------------------------------------------------------------------\n\n");

if(Compare(block)) /*判断数组是否相等*/
printf("result: a = b");/*输出判断结果*/
else
printf("result: a != b");
getch();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式