将字符转换为C中的3位整数

时间:2015-12-03 23:12:21

标签: c

输入存储在一个字符中,无论输入是什么,甚至是3位整数,它都应该输出到控制台。

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {

char a;

printf("Enter a character  :");
a=getche();

int x = (int)a - 48;

printf("\n Character is %d",x);


    return 0;
}

1 个答案:

答案 0 :(得分:0)

没有错误检查的天真实现:

#include <stdio.h>
#include <stdlib.h>
int main(void) {

    int a, b, c;

    printf("Enter three characters :");
    a=getchar();
    b=getchar();
    c=getchar();

    int x = (a - '0') * 100 + (b - '0') * 10 + (c - '0');

    printf("\n Characters are %03d",x);

    return 0;
}

另请注意

  • 不知道getche()getchar()将返回int,并且可能会返回EOF,但这不符合char。因此,使用int存储getchar()返回的内容是一个好主意。
  • 您应该使用'0'代替48来实现可移植性。在ANSI C中保证{C
  • '1' - '0' == 1,...,'9' - '0' == 9。{/ li>