c - 如何使该用户可以使用 scanf 输入整数或字符
问题描述
我正在尝试制作一个用户可以输入整数或字符的程序。然后将打印输入的二进制表示。(字符的 ASCII 码)。但是当我尝试修复它时,其中只有一个有效。
解决方案
这能回答你的问题吗?
#include<stdio.h>
void decToBinary(int n)
{
int binaryNum[32]; // array to store binary number
// counter for binary array
int i = 0;
while (n > 0)
{
binaryNum[i] = n % 2;
n = n / 2;
i++;
}
// printing binary array in reverse order
for (int j = i - 1; j >= 0; j--)
printf("%d",binaryNum[j]);
}
int main()
{
char a;
char ch;
int b,num;
printf("What do you want to enter: character(C/c) or number(N/n) :");
scanf("%c",&a);
if((a=='C')||(a=='c'))
{
printf("\nEnter the character:");
scanf(" %c",&ch);
b=ch;
printf("\nASCII VALUE : %d",b);
}
else if((a=='N')||(a=='n'))
{
printf("\nEnter the number:");
scanf("%d",&num);
decToBinary(num);
}
else
printf("Invalid entry!!");
return 0;
}
推荐阅读
- android - 使用 QuaggaJS 的 Phonegap
- node.js - 为什么我的导入@angular/core 的路径与在线教程不同?
- sql - 从 SQL Server 中的 MAX() GROUP BY 中选择行
- android - 允许用户为自己“创建一个新的活动”?
- vba - VBA - 识别从其他子程序/程序调用的子程序和函数
- regex - 如何找到具有最新时间戳的日志行?
- javascript - Angular 6中检查可滚动区域是否滚动到最大底部的最佳方法
- python-3.x - .any() 如何获取行而不是列?
- sas - SAS为宏的每个值重复一组语句
- javascript - 在屏幕外部单击时关闭此弹出窗口