点赞(0)
 

0.0分

107 人评分

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

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

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

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

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

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

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

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

评论列表 共有 75 条评论

4年前 回复TA
@huhongxuan 一楼说的对,我也没看出来,尴尬
找鱼鱼 4年前 回复TA
@huhongxuan 姐妹,你可能理解错了,题目中说“为了简单起见,我们规定这四个整数中不允许有前导零存在,如001这种情况”,意思是为了简单电脑不考虑这种情况,所以我们也不需要考虑
huhongxuan 4年前 回复TA
请问这个是怎么判断前导是否有零的呀(我我我我太笨了没看懂这个在哪真的很抱歉)
ACOOLFISH 4年前 回复TA
@阴阳爻 确实,没考虑完全,我在else后又加了判断,现在第二个可以过了,多谢提醒
阴阳爻 4年前 回复TA
第二个里的else {printf("N\n");continue;} 只要不结束不管正确与否就一直输出N,else if(strlen(s)!=0)判断是否有多于字符
ACOOLFISH 4年前 回复TA
@藏 可以用 if(strcmp(s,end)==0) return 0;//判断是否结束         else {printf("N
");continue;} 来判断是否后面有剩余的字符,一遍就过了,没有考虑完全
4年前 回复TA
如果输入正确ip后添加.+其他字符会被判断为正确地址,如:12.34.56.78.asdasf
ACOOLFISH 4年前 回复TA
@辰 题目最后是输入字符串End of file代表结束,用while((k=scanf("%d.%d.%d.%d",&a,&b,&c,&d))!=EOF)可能会判断不出来是否结束,if(strcmp(s,end)==0) return 0;是作为判断是否结束,如果读到文件结束while((k=scanf("%d.%d.%d.%d",&a,&b,&c,&d))!=EOF)会起作用
4年前 回复TA
我是用这个     while((k=scanf("%d.%d.%d.%d",&a,&b,&c,&d))!=EOF)    作为循环条件的,没有加        gets(s);   if(strcmp(s,end)==0) return 0;这一部分,我本以为可以读取到EOF结束,但是发现不行,判断输出超限。然后我把这一部分加上,然后把scanf这一块加入到函数体中,把while设置为一直循环,结果也不行。为什么这两个循环结束条件非要在一起使用呢。
出家人 4年前 回复TA
@出家人 哦哦,多谢大佬解答