我在 C 上尝试一个简单的十进制到二进制转换器,但控制台在输入十进制数后没有响应。这是我的代码。
int convertDecimalToBinary(int n);
int main()
{
int n;
printf("Enter a decimal number: ");
scanf("%d", &n);
convertDecimalToBinary(n);
printf("%d in decimal = %d in binary", n, convertDecimalToBinary(n));
return 0;
}
int convertDecimalToBinary(int n)
{
int binaryNumber = 0;
int remainder, i = 1;
while (n!=0);
{
remainder = n%2;
n /= 2;
binaryNumber += remainder*i;
i *= 10;
}
printf("%d\n",binaryNumber);
return binaryNumber;
}
我没有收到任何错误消息,系统提示我输入一个十进制数,但之后它就没有响应了。
最佳答案
您的错字导致无限循环。 while 末尾的分号创建一个没有主体的 while 循环。
while (n!=0);
{
应该是
while (n!=0)
{
关于c - 十进制到二进制转换器,控制台无响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45798133/