我在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;
}
Run Code Online (Sandbox Code Playgroud)
我没有收到任何错误消息,我被提示输入一个十进制数字,但之后它没有响应.
你有一个错字导致无限循环.while结尾处的分号创建一个没有body的while循环.
while (n!=0);
{
Run Code Online (Sandbox Code Playgroud)
应该
while (n!=0)
{
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |