输入存储在一个字符中,无论输入是什么,甚至是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;
}
答案 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>