IP地址

关于C语言字符串的处理要特别注意:

1、C语言中没有bool函数,如果要用,需要使用宏定义。

2、字符串获取子串使用strncpy(str1, s+tem, i-tem);

3、C语言中字符串作为参数传递用法

4、字符串初始化/清空 memset

5、char str1[25]="";   最后一位加'\0' 表示结尾。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef int bool;
#define  true 1
#define false 0
int a[4];
void judge()
{
    int i,flag = 0;
    for(i=0; i<4; i++)
    {
        if(a[i]< 0 || a[i] > 255)
        {
            flag = 1;
            break;
        }
    }
    if(!flag)
        printf("Yes!\n");
    else
        printf("No!\n");
}
void handle(char* s)
{
        int i,tem=0,j=0;
        char str1[25]="";
        for(i=0; i<strlen(s); i++)
        {
            if(i==strlen(s)-1)
            {
               memset(str1, 0, sizeof(str1));
               strncpy(str1, s+tem, i-tem+1);
               int num = atoi(str1);
               a[j++] = num;
            }
            if(s[i]=='.')
            {
                memset(str1, 0, sizeof(str1));
                strncpy(str1, s+tem, i-tem);
                str1[i+1] = '\0';
                tem = i+1;
                int num = atoi(str1);
                a[j++] = num;
            }

        }
        judge();
}
int main()
{
    char str[25];
    while(scanf("%s", str)==1)
    {
      handle(str);
    }
    return 0;


}

 

IP地址IP地址 651km 发布了47 篇原创文章 · 获赞 10 · 访问量 7742 私信 关注
上一篇:web前端学习---JS第一天


下一篇:PAT B1032