这道题我寻思着,把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); } }
南岸以南南岸哀 2022-03-08 10:56:48 |
while一直不停要一直输入,但是scanf放在while上面就不输出就会停
小白求助:为什么 char s[100]; char end[100];要用数组? 为什么用char s; char end;不行啊?
KO 2022-01-29 20:45:51 |
字符串常量无法被修改(在缓冲区中是常量,不是变量),字符数组可以(可以理解为变量,有变量的存储功能)。
这个代码可以精简成这样吗求回复 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<string.h> int main() { int a, b, c, d; int k; while (~(k = scanf("%d.%d.%d.%d", &a, &b, &c, &d))) { 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);//清除缓冲区 } return 0; }
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:593 |
幸运数 (C++代码)浏览:1309 |
Hello, world! (C语言代码)浏览:766 |
简单的a+b (C语言代码)浏览:618 |
数组与指针的问题浏览:760 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:672 |
拆分位数 (C语言代码)浏览:558 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:856 |
【计算球体积】 (C语言代码)浏览:1619 |
幸运数 (C++代码)浏览:2983 |