零K沁雪


私信TA

用户名:qczl

访问量:78064

签 名:

零K沁雪

等  级
排  名 44
经  验 12403
参赛次数 3
文章发表 35
年  龄 0
在职情况 在职
学  校
专  业

  自我简介:

解题思路:

1、sscanf 和 scanf 类似,只不过sscanf是从给定的源读取数据,scanf 是从stdin读取数据。

2、int sscanf(const char *buffer, const char *format, [ argument ] ...   ); 

        sscanf会使用指定的格式获取参数。返回获取到的参数个数。
注意事项:

参考代码:

#include<stdio.h>
#include<stdlib.h>

#define JUDGE(n) (n>=0 && n<= 255)?1:0

int main(void)
{
	char IP[16];
	int a, b, c, d;
	while(scanf("%s", IP) != EOF)
	{
	        //IP地址按如下格式获取应该获取到4个值,否则不是IP。
		if(sscanf(IP, "%d.%d.%d.%d", &a, &b, &c, &d) == 4)
		{
			if(JUDGE(a) && JUDGE(b) && JUDGE(c) && JUDGE(d))
			{
				printf("Y\n");
			}
			else
			{
				printf("N\n");
			}
		}
		else
		{
			printf("N\n");
		}
	}
	return 0;
}


 

0.0分

11 人评分

  评论区

鬼才
2019-12-23 15:46:26
换家,喷不起来!
2019-10-31 22:28:57
受教了,头一次读到sscanf。
2019-09-24 20:27:11
鬼才,就服你
2019-09-10 19:17:25
sscanf(IP, "%d.%d.%d.%d", &a, &b, &c, &d)这里如果不加==4那么输入字母的时候就判断不了,为什么啊
2019-02-26 15:07:05
前导0的情况呢
09
2018-11-30 08:29:02
  • «
  • 1
  • »