用结构求最高分,打印姓名学号
这个代码输入一个就打的出来,输入两个以上,按回车就没反应,能帮我看看问题吗
第二个for陷入死循环了
修改如下,供参考:
void changeLowHighByte(unsigned long int num)
{
unsigned maskLow = 1u;
unsigned maskHigh =1u<<31;
for(int i = 0; i<8; i++)
{
int low = num&maskLow?1:0;
int high = num&maskHigh?1:0;
if(low == 0 &&high==1){
num = num +maskLow-maskHigh;
}
else if(low == 1 &&high==0){
num = num -maskLow+maskHigh;
}
maskLow<<=1;
maskHigh>>=1;
}
cout<<num<<endl;
}
在高亮那行的结尾循环体内加上一个 fflush(stdin);