点赞(0)
 

0.0分

107 人评分

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

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

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

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

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

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

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

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

评论列表 共有 75 条评论

随心 2年前 回复TA
@ForestG 可以理解为如果没有输入就停止while循环
萌新 2年前 回复TA
@Kafka 我也是这样觉得
ForestG 2年前 回复TA
有个问题,scanf前面的~什么作用,去了好像不对了
职业摆烂人 2年前 回复TA
@骑母猪去兜风 如果a,b,c,d的初值为零, 进行输入后,只有a的值改变成9,b,c,d都没有变。作者的第四行写了。int a,b,c,d;     scanf("%d%d%d%d",&a,&b,&c,&d);     printf("%d %d %d %d",a,b,c,d);三行代码可以试出来的
破晓绽放 2年前 回复TA
okk,解决啦
破晓绽放 2年前 回复TA
为什么提交会显示编译错误呢?
云归 2年前 回复TA
这道题我寻思着,把scanf输入放入while(1)循环中,为什么测试没问题,提交就是输出超限
include<stdio.h>
#include<string.h>
int main()
{
	int a,b,c,d,k;
	char ch[100]={"End of file"},s[100];
	while(1)
	{
		k=scanf("%d.%d.%d.%d",&a,&b,&c,&d);
		gets(s);
		if(strcmp(s,ch)==0)break;
		if(s[0]!='\0'){printf("N\n");continue;}
		if(k==4 && a>=0 && a<=255 && b>=0 && b<=255 && c>=0 && c<=255 && d>=0 && d<=255)
        printf("Y\n");
        else
        printf("N\n");
        fflush(stdin);
	}
 }
流年如逝 3年前 回复TA
妙不可言
KO 3年前 回复TA
@Huhulll 字符串常量无法被修改(在缓冲区中是常量,不是变量),字符数组可以(可以理解为变量,有变量的存储功能)。
NESCAFE 3年前 回复TA
@Noe 作者加的这一句是排除含有多余字符串