#定義最大值10
int get8to10()
{
char *str,s[MAX];
int n = 0;
str=s
獲取;
while(*(str)!='\0')
n =(n & lt;& lt3)+(*(str++)-0x 30);
返回n;
}
在這裏,n實際上充當了進位的腳色。呵呵~每循環n次,相當於右移3位數(乘以8)。至於動了多少位數,我們就不用管了。自然有壹段時間要控制~~ 0x30,實際上是' 0 ',任何數字字符的實際值都是減去字符' 0 '的值。
順便說壹句:這個笑話不判斷十進制溢出,但我相信這已經不是難點了,妳壹定能解決。
-
好好享受~~