编写程序:输入3个数字字符,将它们转换为一个整数后输出。如输入数字字符3、2、1,输出一个整数321

刚学C语言,求帮助!

这个你得清楚字符类型和整型是相通的,比如字符‘A’ 就等价于65
如:
char c='A';
int i=c;
printf("i=%d",i);
则输出的就是 i=65
为什么呢?因为65是字符A的ascall码

然后你得知道数字字符0到9的ascall码是48到57,因此您输入字符1之后,使用一个减法运算减去48之后,就得到1.其他的同理。
如:
char c1,c2,c3;
int n1,n2,n3,sum;
scanf("%c%c%c",c1,c2,c3);
n1=c1-48;
n2=c2-48;
n3=c3-48;
sum=n1*100+n2*10+n3;
printf("%d",sum);

这就可以实现您要的功能。追问

太感谢你的回答!呵呵,刚刚我试了一下,没成功;不知道c1,c2,c3该输什么;很多情况我都试过了,麻烦你再提示一下,谢谢了
但我还试了这个,成功了
char a='3',b='2',c='1';
int x,y,z,sum;
x=a-48;
y=b-48;
z=c-48;
sum=x*100+y*10+z;
printf("%d",sum);
system("pause");
这个比较容易理解!

追答

那就这样吧,把scanf语句改为:
scanf("%c",&c1);
scanf("%c",&c2);
scanf("%c",&c3);
输入时,输入一个数后回车,然后再输另一个数。如:
3
4
7
即可。
再试试。这样可以理解吧。

温馨提示:答案为网友推荐,仅供参考