[讨论] 移位的问题
下面两段代码比较,在第二段中我直接把xx[i][j]<<4代入为什么不对呢?是不是移位有什么特别的地方?
void StrCharJL(void)
{ int i,j;
char c;
for(i=0;i<maxline;i++)
for(j=0;j<strlen(xx[i]);j++)
{ c=xx[i][j]<<4;
if(!(c<=32||c>100)) xx[i][j]+=c;
}
}
void StrCharJL(void)
{ int i,j;
for(i=0;i<maxline;i++)
for(j=0;j<str(xx[i]);j++){
if(!((xx[i][j]<<4)>100||(xx[i][j]<<4)<=32))
xx[i][j]+=(xx[i][j]<<4);
}
}