点赞(0)
 

0.0分

5 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 3 条评论

葡萄 4年前 回复TA
哦,我知道了,不用了
葡萄 4年前 回复TA
if((n=sscanf(str,"%d.%d.%d.%d%*c",&a,&b,&c,&d)) == 4)
楼主,请教一下,这里怎么判断长度等于4的?
一位热心的老大爷 5年前 回复TA
int main(){
	int a,b,c,d;
	char str[31]={'\0'};
	int n;
	
	while(1){
		if(fscanf(stdin,"%s",str) == -1) break;
		if((n=sscanf(str,"%d.%d.%d.%d%*c",&a,&b,&c,&d)) == 4){
			if((a>=0 && a<=255) && (b>=0 && b<=255) && (c>=0 && c<=255) && (d>=0 && d<=255)) puts("Y");
			else puts("N");
			continue;
		}
		puts("N");
	}
	
	return 0;
}