问题描述
- C语言 怎么把一个ASCII码的数字在运算中用原来的字表示
-
比如说
char a,b;
a=getchar();
b=getchar();
printf("%d",a+b);
比如说a是3 b是4输出7而不是103+
谢谢谢谢
解决方案
printf("%d",(a - '0')+(b - '0'));
解决方案二:
printf("%c",a+b);
解决方案三:
如果输入像“1234”这样的串,c语言自带一个atoi()函数可以把它转换为整数1234。
函数原型如下:
int atoi(const char *nptr);
如果是long和float类型,也有相应的函数。
解决方案四:
一楼正解
char可以与整数互用,但是char保留的是对应的ASCII码值,所以你想要用相应的整数表示的话就需要减去多出来的数值,也就是‘0’对应的整数值
解决方案五:
#define buf 9 //buf要小于9,注意Int使用越界溢出
char a[buf],b[buf];
int l = fgets(a,buf,0);
if (a[l-1] == 'n')
a[l-1] = '';
int le = fgets(b,buf,0);
if (b[le-1] == 'n')
a[le-1] = '';
printf("a+b = %dn",atoi(a),atoi(b));
是不是要这样的
时间: 2025-01-20 23:05:54