我在读取字符串时遇到问题。从Hell13 World我需要得到数字13。

while (*znak){
   if (isdigit(*znak)){
    x=*znak - '0';
    printf("%d\n", x);
   }
    *dst++ = * znak;
    znak ++;
    }


与我的解决方案,我分别得到1号和3号。

最佳答案

您只会得到第一位数字,然后打印出来。看到数字后,您必须循环播放,直到看不到其他数字为止。

if (isdigit(*znak)){
    while (*znak && isdigit(*znak))
        x= x*10 + *znak++ - '0';
    printf("%d\n", x);
}

09-15 22:10