(小白求助)字符串的转换
请问第7行那儿,为什么要减去‘0’呢?#include<stdio.h>
int atoi(char *s)
{
int i,sum=0;
for(i=0;s!='\0';i++)
if(s>='0'&&s<='9')
sum=sum*10+(s-'0');
return sum;
}
int main()
{
int i;
char s;
printf("Enter a string:");
while((s=getchar())!='\n')
i++;
s='\0';
printf("The integer:%d\n",atoi(s));
return 0;
} “” 这个麻烦忽略……不小心按到了啥……{:10_296:} 举个栗子:
>>> ord("5") # Python中把字符串转换为ASCII码的函数
53
>>> ord("0")
48
>>> ord("5") - ord("0")
5
>>> # 可以去掉引号
>>> # 当然,你这样:
>>> int("5")
5 任何一个数字(char)减去'0'就是这个数字(int) 写在注释里了
#include<stdio.h>
int atoi(char *s)
{
int i,sum=0;
for(i=0;s!='\0';i++)
if(s>='0'&&s<='9')
//s是一个数字字符,假设是'3',其ASCII码是51,'0'的ASCII码是48,每个数字字符减去'0'的ascii码就将数字字符变成了对应的数字
sum=sum*10+(s-'0');
return sum;
}
int main()
{
int i;
char s;
printf("Enter a string:");
while((s=getchar())!='\n')
i++;
s='\0';
printf("The integer:%d\n",atoi(s));
return 0;
} qiuyouzhi 发表于 2020-4-10 10:26
举个栗子:
py...python【挠头】,吓得我以为进错论坛了……{:10_295:} Marcccccy 发表于 2020-4-10 11:13
py...python【挠头】,吓得我以为进错论坛了……
1,是进错版块~
2,没关系的,Python很简单,
理解就好 sunrise085 发表于 2020-4-10 10:34
写在注释里了
明白辽!谢谢你!!{:10_287:} qiuyouzhi 发表于 2020-4-10 11:15
1,是进错版块~
2,没关系的,Python很简单,
理解就好
{:10_278:}
页:
[1]