求助!!!有没有大佬帮忙解释一下这是咋回事?点对比一样,就是过不了。代码如下: alt

#include<stdio.h>
#include<string.h>
int main(){
    char str[101]={'\0'};
    while(scanf("%s",str)>0){
        for(int i=0;i<strlen(str);i++){
            if(str[i]>='0'&&str[i]<='9'){
                char num[50]={'\0'};
                int p=0;
                while(str[i]>='0'&&str[i]<='9'){
                    num[p]=str[i];
                    p++;
                    i++;
                }
                printf("*%s*",num);
                printf("%c",str[i]);
            }
            else printf("%c",str[i]);
        }
    }
     printf("\n");
    return 0;
}