このコードではtemp_noをnoにtemp_snumをsnum、noをtempに移していますが、なぜ一時的な変数を用意しているのですか
scanfで受け取った値をtemp_noを他の変数にいれずに、
そのまま使わない事に違和感を感じます。
int main(void) { unsigned int no,snum,temp,i; int temp_no,temp_snum; do{ printf("type non negative" ); scanf("%d",&temp_no ); } while(temp_no<0); no=(unsigned)temp_no; do { printf("the number that you shift" ); scanf("%d",&temp_snum ); }while(temp_snum<0); snum=(unsigned)temp_snum; putchar('\n'); temp=no; for(i=0;i<snum;i++){ temp*=2; } printf("%u<<%u=%u\n",no,snum,no<<snum ); printf("%u*(2^%u)=%u\n",no,snum,temp); putchar('\n'); temp=no; for(i=0;i<snum;i++){ temp/=2; } printf("%u>>%u=%u\n",no,snum,no>>snum ); printf("%u/(2^%u)=%u\n",no,snum,temp ); return 0; } に言語を入力 コード
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。