【发布时间】:2018-05-14 23:33:24
【问题描述】:
我在做一个程序。您可以输入一个普通数字,程序应先将其转换为二进制代码,然后将其复制为字符串。如果我启动程序并输入一个数字,则没有任何反应。
#include <stdio.h>
#include <stdlib.h>
int main()
{ int i;
unsigned short input;
char output [18] = "";
printf("enter a positive number\n");
scanf("%hu", &input);
for (i= 16; 1; i-- )
{
output [i] = input % 2;
input = input / 2;
}
puts(output);
return 0;
}
【问题讨论】:
-
那是因为
'1' != 1 -
for (i= 16; 1; i-- )将永远循环。 -
你试过调试这个吗?
-
'1' != 1 你的意思是一个 char != int ?
-
但它为什么要永远循环呢?