http://acm.hdu.edu.cn/showproblem.php?pid=1013
#include<stdio.h>
int main()
{
    
char tp[1001];       
    
while(scanf("%s",tp)!=EOF)
    
{
        
int sum=0;
        
char *p=tp;
        
if(strcmp(tp,"0")==0)       
            
break;
        
/*
        下面的变量要定义到上面去,否则会出现语法错误,如下 
          int sum = 0;
        char *p = tp;
     *************************************    
        0_0_1232530_20045.c
        0_0_1232530_20045.c(9) : error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
        0_0_1232530_20045.c(10) : error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
        0_0_1232530_20045.c(11) : error C2065: “p” : 未声明的标识符
        0_0_1232530_20045.c(11) : error C2100: 非法的间接寻址
        0_0_1232530_20045.c(13) : error C2065: “sum” : 未声明的标识符
        0_0_1232530_20045.c(13) : error C2100: 非法的间接寻址
     **************************************        
        
*/

        
while(*p!='\0')
        
{
            sum 
+= *- '0';
            
while(sum/10)
                sum 
= sum%10 + sum/10;
            p
++;
        }

        printf(
"%d\n",sum);
    }

    
return 0;
}