首页 > 解决方案 > 如何使该用户可以使用 scanf 输入整数或字符

问题描述

我正在尝试制作一个用户可以输入整数或字符的程序。然后将打印输入的二进制表示。(字符的 ASCII 码)。但是当我尝试修复它时,其中只有一个有效。

标签: c

解决方案


这能回答你的问题吗?

#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;
}

推荐阅读