C语言怎么判断输入的是一个空行?

 我来答
风若远去何人留
2015-12-11 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450132
专业C/C++软件开发

向TA提问 私信TA
展开全部

可以通过gets读入整行数据。

gets的功能是读入一行数据,并把换行符替换成字符串结束符,所以如果是空行,那么读到的字符串第一个元素就是结束符。

通过判断gets的结果,即可知道是否为空行。

参考代码如下:

char buf[100];
gets(buf);
if(buf[0] == '\0') printf("是空行\n");
李金阳074
2012-11-16 · 超过48用户采纳过TA的回答
知道小有建树答主
回答量:103
采纳率:0%
帮助的人:96.7万
展开全部
scanf("%d",×);
ch=getchar();
我这样写。怎么输入一个数就结束了?
没有执行getchar?

你没执行getchar()是因为scanf在读取的时候是不读换行符的,也就是你输入结束那个回车,所以这个回车留在了缓冲区中,被接下来的getchar()给读去了,不是他没执行,是没按你的想法去执行,你可以再加一个getchar()验证一下。
更多追问追答
追问
那怎么判断输入的是不是空行?
追答
这个我还真没试过。好久不写C了,你尝试下判断scanf的返回值来看看输入的是不是空行呢?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lightingnet
2012-11-16 · TA获得超过173个赞
知道答主
回答量:66
采纳率:0%
帮助的人:47.3万
展开全部
char buf[256];
scanf("%s", &buf);
int i = 0;
while (i < 256 && buf[i] == ' ') { // 判断一行中有空格的空行
i++;
}
if (buf[i] == '\0') { // 判断指定字符数组索引是否为 null 字符
printf("未输入任何内容!");
} else {
// 处理输入内容
]
追问
我的问题是先要输入一个数字,然后输入一个空行(没有空格)。然后再后续操作。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
momotengteng2
2012-11-16
知道答主
回答量:6
采纳率:0%
帮助的人:9196
展开全部
char c = getchar();
if( c ="" )
printf("空字符");
更多追问追答
追问
int times;
char ch;
scanf("%d",×);
ch=getchar();
我这样写。怎么输入一个数就结束了?
没有执行getchar?
追答
scanf函数不能用来输入空格,输入字符的话做好用getchar(),用scanf输入字符串会出现很多问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式