C语言中怎么将数字字符转换成对应的数值
最近正在自学数据结构。在栈的运用中。计算后缀表达式时。怎么将数字字符转换成对应的数值书上给的式子是d=0;while(ch>='0'&&ch<='9'&&flag)/*判...
最近正在自学数据结构。在栈的运用中。计算后缀表达式时。怎么将数字字符转换成对应的数值 书上给的式子是
d=0;
while(ch>='0'&&ch<='9'&&flag) /*判定为数字字符*/
{ d=10*d+ch-'0';
ch=exp[t];t++;
}
d=10*d+ch-'0';这个式子的原理是什么?
将数字字符转换成对应的数值的原理是什么。为什么每次d都要置为0 展开
d=0;
while(ch>='0'&&ch<='9'&&flag) /*判定为数字字符*/
{ d=10*d+ch-'0';
ch=exp[t];t++;
}
d=10*d+ch-'0';这个式子的原理是什么?
将数字字符转换成对应的数值的原理是什么。为什么每次d都要置为0 展开
6个回答
展开全部
在C/C++语言中没有专门的字符串变量,通常用字符数组来存放字符串。
字符串是以“\0”作为结束符。
C/C++提供了丰富的字符串处理函数,下面是几个最常用的函数:
● 字符串输出函数puts。
● 字符串输出函数gets。
● 字符串连接函数strcat。
● 字符串复制函数strcpy。
● 测字符串长度函数strlen。
字符串是以“\0”作为结束符。
C/C++提供了丰富的字符串处理函数,下面是几个最常用的函数:
● 字符串输出函数puts。
● 字符串输出函数gets。
● 字符串连接函数strcat。
● 字符串复制函数strcpy。
● 测字符串长度函数strlen。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没看懂你说的树上那段
字符是按照ASCII码排的(见百度百科“ASCII码”词条)
其中第48个码为'0'
然后顺次是'1','2',...,'9'
所以说 一个字符a='6',那么a与'0'距离就是它代表的数值,也就是6
所以
char a='6';
int k=a-'0';
那么k=6
字符是按照ASCII码排的(见百度百科“ASCII码”词条)
其中第48个码为'0'
然后顺次是'1','2',...,'9'
所以说 一个字符a='6',那么a与'0'距离就是它代表的数值,也就是6
所以
char a='6';
int k=a-'0';
那么k=6
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
字符相减就是 字符的阿斯克码相减,数字字符有事从‘0’到‘9’挨着,他们的阿斯克码也是从48到57挨着的,每个字符减‘0’得到的距离就是字符对应的数值。
d=10*d+ch-'0' 若d不置为0 那不成两位数了,数字字符只有0-9
至于为什么多此一举 而不是d=ch-‘0’ 这个高人指点啊
d=10*d+ch-'0' 若d不置为0 那不成两位数了,数字字符只有0-9
至于为什么多此一举 而不是d=ch-‘0’ 这个高人指点啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ASCII码方式转换吧,每个字符都有一个ASCII码对应,就是数字。
不知道这段代码具体在程序的哪个部分,如果d不置零,会因为之前的程序运行,d已经有值,和预期的结果不同
不知道这段代码具体在程序的哪个部分,如果d不置零,会因为之前的程序运行,d已经有值,和预期的结果不同
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询