疑问:连续输入两个unsigned char

#include <stdio.h>
unsigned char rotate(unsigned char number,unsigned char bit);

int main(void){
    unsigned char number,bit;
    printf("input a number and rotated bits number:");
    while(scanf("%hhu %hhu",&bit,&number)==2){    
        printf("%d,%d,%d\n",&number,&bit,sizeof(unsigned char));
        printf("%hhu,%hhu\n",number,bit);
        printf("%hhu rotate %hhu bit left:%hhu\n",number,bit,rotate(number,bit));
        printf("input a number and rotated bits number:");
    }
    printf("quit\n");
 
    return 0;
}
 
unsigned char rotate(unsigned char number,unsigned char bit){
    unsigned char i,high=8;
    for(i=0;i<bit;i++)
        if(number&(1<<(high-1))) number=(number<<1) | 1;
        else number=number<<1;
    return number;
}
#include<stdio.h>

int main() {
    unsigned char a = 0, b = 0, c = 0;
    scanf("%hhu", &a);
    printf("a = %hhu, b = %hhu, c = %hhu\n", a, b, c);
    scanf("%hhu", &b);
    printf("a = %hhu, b = %hhu, c = %hhu\n", a, b, c);
    scanf("%hhu", &c);
    printf("a = %hhu, b = %hhu, c = %hhu\n", a, b, c);
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/lyt888/p/12557928.html