可以通过gets读入整行数据。
gets的功能是读入一行数液行据,并把换行符替旁烂换成字符串运埋漏结束符,所以如果是空行,那么读到的字符串第一个元素就是结束符。
通过判断gets的结果,即可知道是否为空行。
参考代码如下:
char buf[100];
gets(buf);
if(buf[0] == '\0') printf("是空行\n");
scanf("%d",×);
ch=getchar();
我这样写。怎么输入一个数就结束了?
没有执行getchar?
你没执行getchar()是因为scanf在读取的时祥弊候是不读换行符的,也就是你输入结束那个回车,所以这个回车留在了缓冲区中,被接下来的getchar()给读去了,不是他没执行,是没谨搜族按你的想法去执行,你可以再加一个getchar()漏雹验证一下。
char buf[256];
scanf("%s", &buf);
int i = 0;
while (i < 256 && buf[i] == ' ') { // 判断一行中蚂昌有吵橡空格的空行
i++;
}
if (buf[i] == '\0') { // 判断指定字符数组闷碰扒索引是否为 null 字符
printf("未输入任何内容!");
} else {
// 处理输入内容
]
char c = getchar();
if( c ="" )
printf("空字符");