关于一道程序填空题的疑惑#include#include#includeunsignedlongfun(char*s){unsignedlongt=0;intk;inti=0;i=strlen(s);for(--i;i>=0;i--){k=s[i]-'0';t=t*10+k;}returnt;}main(){charstr[8];printf("Enterastringmadeupof'
关于一道程序填空题的疑惑
#include
#include
#include
unsignedlongfun(char*s)
{
unsignedlongt=0;
intk;
inti=0;
i=strlen(s);
for(--i;i>=0;i--)
{
k=s[i]-'0';
t=t*10+k;
}
returnt;
}
main()
{
charstr[8];
printf("Enterastringmadeupof'0'to'9'digitalcharacter:n");
gets(str);
printf("Thestringis:%sn",str);
if(strlen(str)>8)
printf("Thestringistoolong");
else
printf("Theresult:%lun",fun(str));
}
fun函数中的for循环里,为什么k=s[i]-'0'还有为什么t=k+10*t?
感激不尽