c语言中随便输入一个12位的ip地址,怎么把多余的0去掉

c语言中随便输入一个12位的ip地址,怎么把多余的0去掉

问题描述:

请问,如果随机输入一个ip地址并存到数组中,比如056.004.078.012,如何检测并把前面这些不该要的0去掉?

你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

#include <stdio.h>
#include <string.h>
int main(){
    char s1[40];
    char s2[40];
    int n=0,i,j=0,len;
    gets(s1);
    len = strlen(s1);
    for (i = 0; i < len; i++)
    {
        if (n==1 || s1[i]!='0' || !(s1[i+1]>='0' && s1[i+1]<='9')) {
            s2[j++] = s1[i];
            if (s1[i]=='.')
                n = 0;
            else
                n = 1;
        }
        s2[j] = '\0';
    }
    puts(s2);
    return 0;
}

img

字符数组遍历条件判断吧