最近圣诞假期,在家陪爸妈,学习投入的时间不是很多,今天下午有空学习进制转换的时候,学习李老师视频里的程序,自己为了循环利用,
就改写成以下:
# include<stdio.h>
void putBinary();
int main() { int num; printf("请输入一个整数(系统默认为十进制):\n"); scanf("%d", &num); while(num > 0) { putBinary(num); printf("请输入一个整数(系统默认为十进制):\n"); scanf("%d", &num); if(num == 1) { break; } } return 0; }
void putBinary(int n) { int bits = sizeof(n) * 8; while(bits --> 0) { printf("%d", n>>bits&1); if(bits%8 == 0) { printf(" "); } }
printf("\n"); }
输入整数的时候运行ok,但是在终端使用中,没有退出程序,就输入了字符,如 cc指令, 结果程序出现死循环, 如下图:
当然自己还在基础学习中,这个应该是超出我现在的现有知识吧。 有兴趣的伙伴,有时间的话,求帮助呀。
|