看看下这个程序
#include<stdio.h>
int main(void)
{
char str[10];
int num = 0, i;
gets(str);
for(i = 0;i < 2;i ++)
{
num += str[i]- '0' ;
}
while(num > 10)
{
num = num/10 +num%10;
}
printf("%d\n", num);
getch();
}
----------------解决方案--------------------------------------------------------
我不大清楚gets(str)是什么意思?
----------------解决方案--------------------------------------------------------
还有就是 num += str[i]- '0' ;
减去'0'是什么意思!
----------------解决方案--------------------------------------------------------
gets(str)是输入字符串,赋给数组str
num+=str[i]-'0'的意思是求差值,即str[i]的ASCII值减去‘0’的ASCII值
----------------解决方案--------------------------------------------------------
为什么要减去48呢?
----------------解决方案--------------------------------------------------------
因为'0'的ASCII码值为48,减了就得到数字字符的数值
----------------解决方案--------------------------------------------------------
记住这个
'0'的ASCII码值为48
'a'的ASCII码值为97
'A'的ASCII码值为65
----------------解决方案--------------------------------------------------------